ورود

View Full Version : دستور کلیک در جی کوئری



alittnaa
دوشنبه 11 آذر 1392, 15:22 عصر
سلام
این کدی رو که میبینید ، از کسی گرفتم و کار میکنه
ولی به جز height هر چی دیگه میذارم کار نمیکنه
میخوام گزینه margin یا margin-top رو قرار بدم
لطف میکنید کمکم کنید که چطور این کار رو انجام بدم ؟!
کلا چطور باید دستور کلیک رو نوشت ؟ ( دو شرطه )
ممنون


<script type="text/javascript">
$(function(){
$('#show').click(function(){
var login = $('#texthi');
login.stop(1, 1);
if(280==login.height())
login.animate({height:'50px'});
else
login.animate({height:'280px'});
});
});
</script>

(ehsan)
سه شنبه 12 آذر 1392, 11:53 صبح
هرچیزی که میخوای انیمیشن روش ست بشه بباید توی CSS بری و position مربوط به اون را absolute قرار بدی! مثلا اگه login را absolute قرار بده! اگر یک html element هست

alittnaa
سه شنبه 12 آذر 1392, 13:39 عصر
متوجه نشدم ؟!
کدی که قرار دادم فقط میاد ارتفاع اونو عوض میکنه
هر چیزی دیگه ای که قرار میدم ، مثل بکگراند ، مارجین و ... عمل نمیکنه مثل این میمونه که فقط این کد مخصوص ارتفاع عناصر نوشته شده.
اتفاقا این عنصر پوسیشن داره و روی همه موارد امتحان کردم .
به کل فکر نکنم حتما باید پوسیشن ثابت یا اسکرول یا ... داشته باشه ، چون توی یکی از کارام برای ارتفاع استفاده کردم .
اما برای چیز دیگه ای امتحان نکرده بودم

Javidhb
سه شنبه 12 آذر 1392, 14:33 عصر
توی کد توضیحات هست:


$(function(){
$('#show').click(function(){
var login = $('#texthi');
login.stop(1, 1);

//مقداری که میخاید مقایسه رو باهاش انجام بدید
//باید به عدد تبدیل بشه
// 280px => 280
//parseFloat -> برای اعداد اعشاری
var marginTop = parseInt(login.css('margin-top'), 10);

//انجام مقایسه
if(280 == marginTop)
login.animate({marginTop:'50px'});
else
login.animate({marginTop:'280px'});
});
});


دمو
(http://jsfiddle.net/cuL6W/1/)
نظر شخصی: بهتر از toggleClass (http://api.jquery.com/toggleClass/)استفاده کنید (خیلی بی دردسرتره)