PDA

View Full Version : سوال: تغییر بنیادین توابع show , hide در jquery



alismith
پنج شنبه 18 فروردین 1390, 14:03 عصر
سلام
تا حالا شده به نوع عملکرد توابع مذکور توجه کنید این توابع اشیا رو از پایین و از سمت راست به چپ بالا می برند و آن را می بندند و یا در زمان نمایش آنها رو از بالا از سمت چپ به راست پایین می آورند و باز می کنند

حالا کسی می دونه چطور میشه مثلا برای hidden از پایین از سمت چپ به راست بالا ببرند و یه جورایی شی از سمت راست بسته بشه و برای show از بالا از سمت راست به چپ پایین شی را باورند و یه جورایی از سمت راست نمایش داده شود

با تشکر

eleboys
پنج شنبه 18 فروردین 1390, 22:16 عصر
فکر می کنم آخرین باری که در این مورد کنجکاو شدم متوجه شدم داخل اینجور تابع ها نهایتا از تایع animate استفاده می شه (به یه نحوی) مثلا در تابع hide با استفاده از همین تابع animate طول و عرض و میزان شفافیت شئی طی یک زمان قابل تنظیم؛ همزمان از مقدار کنونی به 0 برده می شه و در نهایت استایل display:none برای اون ست می شه. که باعث ایجاد چنین افکتی موقع بسته شدن یا به همین ترتیب موقع باز شدن میشه.

فکر می کنم حالا باید کنجکاویتون رو روی نحوه کار تایع animate متمرکز کنید و پس از متوجه شدن ما رو هم مطلع کنید تا استفاده کنیم :چشمک: (خرجش یه نگاه انداختن به کد این تابع هستش)

=================
نوشته های فنی نیما بغدادی...
http://www.nimabaghdadi.ir (http://www.nimabaghdadi.ir/)

alismith
جمعه 19 فروردین 1390, 03:02 صبح
فکر می کنم حالا باید کنجکاویتون رو روی نحوه کار تایع animate متمرکز کنید و پس از متوجه شدن ما رو هم مطلع کنید تا استفاده کنیم :چشمک: (خرجش یه نگاه انداختن به کد این تابع هستش)


سلام یه روش خیلی ساده تر از کنجکاوی تو تابع animate پیدا کرد که کدش رو براتون گذاشتم (نیاز به توضیح نداره کاملا واضح هستش)


<script language="javascript">

$(document).ready(function(){

$("#btn1").click(function(){

$(this).hide("slow");

});


$("#btn2").click(function(){

$(this).hide("slow");

});


});

</script>

<center>
<div style="width: 400px;">
<center>
<div id="btn1" style="width: 100px; height: 100px; background: silver; float: left;"></div>
<div id="btn2" style="width: 100px; height: 100px; background: silver; float: right;"></div>
</center>
</div>
</center>



موفق باشید

eleboys
جمعه 19 فروردین 1390, 11:43 صبح
بله من سوال شمارو بد متوجه شدم. بنده فکر کردم سوال شما اینه که "چطور میشه که اینطور میشه" در صورتی که سوال شما این بود که "چکار کنم که اینطور بشه" :اشتباه:
در واقع این دو متد hide, show هنگام جمع کردن یا باز کردن اشیا عرض و طول اونها رو همزمان از دو طرف کم یا زیاد می کنند پس زمانی که کنترل مورد نظر شما وسط چین باشه احساس این رو دارید که به سمت مرکز یا وسط داره جمع میشه و اگر چپ چین یا راست چین باشه به سمت چپ یا راست باز و بسته میشه. راه حلی که شما خودتون پیدا کردید هم جواب گوی کارتون هست اما خیلی از مواقع ممکنه شما نخواید شئیتون استایل float:right/left داشته باشه (دردسرهای خودشو داره) اگر تو روش انتخابی خودتون به مشکل بر خوردید از این استایل استفاده کنید:

<div style="width: 400px; text-align:right">
<div id="btn1" style="width: 100px; height: 100px; background: silver;"></div>
</div>

=================
نوشته های فنی نیما بغدادی...
http://www.nimabaghdadi.ir (http://www.nimabaghdadi.ir/)