0

آموزش jquery از ابتدا

 
kaktoosii
kaktoosii
کاربر برنزی
تاریخ عضویت : شهریور 1390 
تعداد پست ها : 67
محل سکونت : زنجان

آموزش jquery از ابتدا

برای اینکه جی کوئری خود  به خود هنگام لود صفحه اجرا بشه باشد همه برنامه رو درون این تکه 

$(document).ready(function(){

اینجا  کد شما

});

قرار بدید

ودر غیر این صورت می تونید از یه تابع استفاده کنید

 

 

مجله علمی پالیک محلی برای دانستن
سه شنبه 14 آذر 1391  8:38 PM
تشکرات از این پست
hosseinb68 ravabet_rasekhoon
hosseinb68
hosseinb68
کاربر طلایی1
تاریخ عضویت : بهمن 1389 
تعداد پست ها : 1269
محل سکونت : بوشهر

پاسخ به:آموزش jquery از ابتدا - بخش سوم - اجرا


نقل قول kaktoosii

برای اینکه جی کوئری خود  به خود هنگام لود صفحه اجرا بشه باشد همه برنامه رو درون این تکه 

$(document).ready(function(){

اینجا  کد شما

});

قرار بدید

ودر غیر این صورد می تونید از یه تابع استفاده منید

 

 

با سلام و احترام

کاربر گرامی لطفاً تمامی متن ها را در یک پست قرار دهید یا اگر بخش بخش است یک پست ساخته و ما بقی را در قسمت پاسخ آن پست قرار دهید تا تمام محتوای اموزشی در یک پست باشد و دسترسی به آن آسان تر باشد.

با تشکر

موفق باشید
 

سه شنبه 14 آذر 1391  8:52 PM
تشکرات از این پست
ravabet_rasekhoon
kaktoosii
kaktoosii
کاربر برنزی
تاریخ عضویت : شهریور 1390 
تعداد پست ها : 67
محل سکونت : زنجان

پاسخ به:آموزش jquery از ابتدا

با سلام 

از هشدار ددوستمون از حالا تو همین صفحه ادامه می دم

از اینجا بحث افکت ها رو شروع می کنم به این جدول پایین دقت کنید اینها چند افکت هستند که براتون چند مثال هم می زنم

 

Method Description
animate() تابع ایجاد انیمیشن روی المان
clearQueue() توقف آخرین انیمیشن 
delay() اجرا با تاخیر
dequeue()  
fadeIn() طاهر شدن یک عنصر 
fadeOut() پنهان شدن عنصر
fadeTo() پنهان یا ظاهر شدن عنصر با شرایط
fadeToggle() پنهان یا ظاهر شدن عنصر با شرایط
hide() پنهان شدن عنصر
queue()  
show() طاهر شدن یک عنصر 
slideDown() طاهر شدن کشویی به سمت پایین یک عنصر  
slideToggle() پنهان یا ظاهر شدن عنصر به صورت کشویی
slideUp() طاهر شدن کشویی به سمت بالا یک عنصر  
stop() توقف انیمیشن عنصر
toggle() مخفی یا ظاهر سازی

 

خوب اینم یه مثال ابتدایی :

example
 
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script>
$(document).ready(function(){
  $("#hide").click(function(){
    $("p").hide();
  });
  $("#show").click(function(){
    $("p").show();
  });
});
</script>
</head>
<body>
<p>If you click on the "Hide" button, I will disappear.</p>
<button id="hide">Hide</button>
<button id="show">Show</button>
</body>
</html>
 

تابع show / hide به صورت کلی به شکل زیر هستند

$(selector).hide(speed,callback);
$(selector).show(speed,callback);

که معمولا به صورت 

$("button").click(function(){
  $("p").hide(1000);
});

یعنی فقط سرعت رو بهش می دیم

مجله علمی پالیک محلی برای دانستن
پنج شنبه 16 آذر 1391  12:06 AM
تشکرات از این پست
hosseinb68 ravabet_rasekhoon mortaza
kaktoosii
kaktoosii
کاربر برنزی
تاریخ عضویت : شهریور 1390 
تعداد پست ها : 67
محل سکونت : زنجان

پاسخ به:آموزش jquery از ابتدا

در بین افکت ها می رسیم به افکت ظاهر شدن fade in  به این کد نگاه کنید :

example
<!DOCTYPE html>
<html>
<head>
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("#div1").fadeIn("slow");
  });
});
</script>
</head>

<body>
<p>Demonstrate fadeIn() with different parameters.</p>
<button>Click to fade in boxes</button>
<br><br>
<div id="div1" style="width:80px;height:80px;display:none;background-color:red;"></div>
</body>
</html>

تو این کد با کلیک روی دکمه یک مربع با یک انیمیشن ظاهر می شه

$(selector).fadeIn(speed,callback);

و کد مخفی شدن هم

$(selector).fadeOut(speed,callback);

که تو هر دو فقط برای اسپید عدد تعیین می کنیم یا از slow , fast استفاده می کنیم

 

 

 

 

 

 

 

 

و با کد زیر هم هر دو باهم

و قطعه کد زیر هم برای پنهان کردن تا یه حدیه

$("button").click(function(){
  $("#div1").fadeTo("slow",0.15);
  $("#div2").fadeTo("slow",0.4);
  $("#div3").fadeTo("slow",0.7);
});

example 2
<!DOCTYPE html>
<html>
<head>
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("#div1").fadeToggle();
    $("#div2").fadeToggle("slow");
    $("#div3").fadeToggle(3000);
  });
});
</script>
</head>
<body>

<p>Demonstrate fadeToggle() with different speed parameters.</p>
<button>Click to fade in/out boxes</button>
<br><br>

<div id="div1" style="width:80px;height:80px;background-color:red;"></div>
<br>
<div id="div2" style="width:80px;height:80px;background-color:green;"></div>
<br>
<div id="div3" style="width:80px;height:80px;background-color:blue;"></div>

</body>
</html>
 

  $("#div3").fadeTo("slow",0.7)  ;کد   

یعنی div3 رو تا میزان 0.7  ینهان کن

و مقدار 0.7 برای opacity هست که از 0 تا 1 است

 

 

 

 

 

مجله علمی پالیک محلی برای دانستن
جمعه 17 آذر 1391  12:06 AM
تشکرات از این پست
hosseinb68 mortaza
kaktoosii
kaktoosii
کاربر برنزی
تاریخ عضویت : شهریور 1390 
تعداد پست ها : 67
محل سکونت : زنجان

پاسخ به:آموزش jquery از ابتدا

خوب می رسیم به یکی از کاربردی ترین قسمت ها

example

<!DOCTYPE html>
<html>
<head>
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
  $("#flip").click(function(){
$("#panel").slideToggle("slow");
  });
});
</script>
 
<style type="text/css">
#panel,#flip
{
padding:5px;
text-align:center;
background-color:#e5eecc;
border:solid 1px #c3c3c3;
}
#panel
{
padding:50px;
display:none;
}
</style>
</head>
<body>
 
<div id="flip">Click to slide down panel</div>
<div id="panel">Hello world!</div>

</body>
</html>
 

 

$(selector).slideToggle(speed,callback);

 

که تو اون هم سرعت رو بهش میدیم

 

 

 

 

 

 

 

 

مجله علمی پالیک محلی برای دانستن
جمعه 17 آذر 1391  12:12 AM
تشکرات از این پست
hosseinb68 mortaza
kaktoosii
kaktoosii
کاربر برنزی
تاریخ عضویت : شهریور 1390 
تعداد پست ها : 67
محل سکونت : زنجان

پاسخ به:آموزش jquery از ابتدا

میرسیم به بخش های کاربردی جالب

در این بخش میخوایم یه خاصیت رو از لینک توسط جی کوئری بگیریم

example
<!DOCTYPE html>
<html>
<head>
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    alert($("#w3s").attr("href"));
  });
});
</script>
</head>

<body>
<p><a href="http://www.w3schools.com" id="w3s">W3Schools.com</a></p>
<button>Show href Value</button>
</body>
</html>
 

 

خوب تو این قسمت با کد

$("#w3s").attr("href")

که تو  اون می گیم از خصوصیات attribut های لینک w3s مقدار href

رو برگردونه که تو اینجا

http://www.w3schools.com

رو نشون میده

اینها رو داشته باشید تا کاربرد برسیم

مجله علمی پالیک محلی برای دانستن
جمعه 17 آذر 1391  12:19 AM
تشکرات از این پست
hosseinb68 mortaza
kaktoosii
kaktoosii
کاربر برنزی
تاریخ عضویت : شهریور 1390 
تعداد پست ها : 67
محل سکونت : زنجان

پاسخ به:آموزش jquery از ابتدا

دوستان بهتره  پست ها تعاملی باشه تا من بدونم کسی مطلب رو دنبال می کنه

مجله علمی پالیک محلی برای دانستن
سه شنبه 28 آذر 1391  1:19 PM
تشکرات از این پست
hosseinb68
kaktoosii
kaktoosii
کاربر برنزی
تاریخ عضویت : شهریور 1390 
تعداد پست ها : 67
محل سکونت : زنجان

پاسخ به:آموزش jquery از ابتدا

با سلام مجدد

example
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("#div1").remove();
  });
});
</script>
</head>
<body>
 
<div id="div1" style="height:100px;width:300px;border:1px solid black;background-color:yellow;">
 
This is some text in the div.
<p>This is a paragraph in the div.</p>
<p>This is another paragraph in the div.</p>
 
</div>
<br>
<button>Remove div element</button>
 
</body>
</html>
 

تو این کد با تابع حذف کردن (یک div یا پاراگراف و ....) 

آشنا می شید لطفا دقت کنید خیلی ساده است

مجله علمی پالیک محلی برای دانستن
شنبه 16 دی 1391  9:17 PM
تشکرات از این پست
hosseinb68 mortaza
kaktoosii
kaktoosii
کاربر برنزی
تاریخ عضویت : شهریور 1390 
تعداد پست ها : 67
محل سکونت : زنجان

پاسخ به:آموزش jquery از ابتدا

این هم یک کتاب درباره جی کوئری و استفاده با php

دانلود

مجله علمی پالیک محلی برای دانستن
شنبه 16 دی 1391  9:29 PM
تشکرات از این پست
kaktoosii
kaktoosii
کاربر برنزی
تاریخ عضویت : شهریور 1390 
تعداد پست ها : 67
محل سکونت : زنجان

پاسخ به:آموزش jquery از ابتدا

یک منوی بسیار زیبا با جی کوئری دانلود کنید و در صورت مشکل پست بذارید

حجم : 52kb

مجله علمی پالیک محلی برای دانستن
یک شنبه 17 دی 1391  12:07 PM
تشکرات از این پست
kaktoosii
kaktoosii
کاربر برنزی
تاریخ عضویت : شهریور 1390 
تعداد پست ها : 67
محل سکونت : زنجان

پاسخ به:آموزش jquery از ابتدا

 

$("*") انتخاب تمامی عناصر موجود در صفحه
$(this)انتخاب عنصر فعلی
$("p.intro")انتخاب عنصر پاراگراف یا کلاس intro
$("p:first") اولین پاراگراف
$("ul li:first")انتخاب اولین li از اولین ul
$("ul li:first-child")انتخاب اولین li همه ul ها
$("[href]") انتخاب عنصری که دارای خاصیت href می باشد
$("a[target='_blank']")انتخاب لینکی که خاصیت _blank برای باز شدن صفحه دارد
$("a[target!='_blank']") انتخاب لینکی که خاصیت _blank ندارد
$(":button") انتخاب همه button ها و inputهایی که از نوع button هست
$("tr:even") انتخاب سطرهای جدول که عدد آن زوج است . نکته : شماره سطرها از 0 شروع می شود یعنی 0,1,2,...
$("tr:odd") انتخاب سطرهایی از جدول که شماره سطر آن فرد باشد

 

تمرین :  لطفا کد زیر را خودتان دستی تایپ کنید و کپی نکنید تا ملکه ذهنتان بشود
 

 

<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("tr:even").css("background-color","red");
});
</script>
</head>
<body>
<h1>Welcome to My Web Page</h1>
<table>
<tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr>
<td>Berglunds snabbköp</td>
<td>Christina Berglund</td>
<td>Sweden</td>
</tr>
<tr>
<td>Centro comercial Moctezuma</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
<tr>
<td>Ernst Handel</td>
<td>Roland Mendel</td>
<td>Austria</td>
</tr>
<tr>
<td>Island Trading</td>
<td>Helen Bennett</td>
<td>UK</td>
</tr>
<tr>
<td>Königlich Essen</td>
<td>Philip Cramer</td>
<td>Germany</td>
</tr>
<tr>
<td>Laughing Bacchus Winecellars</td>
<td>Yoshi Tannamuri</td>
<td>Canada</td>
</tr>
<tr>
<td>Magazzini Alimentari Riuniti</td>
<td>Giovanni Rovelli</td>
<td>Italy</td>
</tr>
<tr>
<td>North/South</td>
<td>Simon Crowther</td>
<td>UK</td>
</tr>
</table>
</body>
</html>

 

برگرفته از برنامه نویس

مجله علمی پالیک محلی برای دانستن
دوشنبه 18 دی 1391  1:15 PM
تشکرات از این پست
mortaza
kaktoosii
kaktoosii
کاربر برنزی
تاریخ عضویت : شهریور 1390 
تعداد پست ها : 67
محل سکونت : زنجان

پاسخ به:آموزش jquery از ابتدا

دوستان عزیز در این جا فرض رو بر این گرفتم که خواننده از css و js سررشته داره و یک ذهنیت درباره اونا  داره

پس سعی کنید اول اینها رو یاد بگیرید بعد وارد jquery  بشید

مجله علمی پالیک محلی برای دانستن
دوشنبه 18 دی 1391  1:25 PM
تشکرات از این پست
kaktoosii
kaktoosii
کاربر برنزی
تاریخ عضویت : شهریور 1390 
تعداد پست ها : 67
محل سکونت : زنجان

پاسخ به:آموزش jquery از ابتدا

اینم یه آموزش درباره شفافیت عکس با رفتن موس روی آن

خب شفافیت کامل عکس از حالت نیمه جان ! کار آسونیه و یاد گرفتنش صرفاً برای قسمت بعدی این آموزش است. خب ابتدا می گردیم دوتا عکس زیبا پیدا می کنیم. برای این کار هزار تا سایت هست ولی سایت مورد علاقۀ من ۱x هست که خودم رو موظف کردم هر روز یه گشتی بین عکساش بزنم. بعد از انتخاب عکس ها بک گراند رو مشکی می کنم. این کار کاملاً سلیقه ایه و اگر سفید یا هر رنگ دیگه ای باشه مشکلی برای آموزش امروز ما پیش نمیاد. امروز هم تمام اسکریپت ها و استایل ها رو در فایل ایندکس خواهم نوشت.

<style>

body
{
	background: black;
	font-size: 12px;
	color: #FFF;
}
#opacity {
	margin-top: 300px;
}
</style>

بعد از مشکی کردن رنگ زمینه و سفید کردن فونت بین تگ body یک تگ Div با Id درست می کنیم. تا عکسی که قرار است fade out یا ظاهر شود رو قرار بدیم.

<div id="opacity">
<p> شفافیت کامل عکس هنگام حرکت موس روی عکس </p>
<img src="b.jpg"/>
</div>

خب ابتدا باید عکس محو باشد که با حرکت موس به حالت اول برگردد پس سراغ کد جی کوئری می رویم :

$(function() {
		$('#opacity img').animate({"opacity": .2 });
});

این کد به این معنیست که روی تگ Img که درون div با Id=opacity عملیاتی انجام بده. ( انیمیشن ) و شفافیت رو بکن ۰٫۲ به همین سادگی. این برای ابتدای کار.
بعد از اون باید کدی بنویسیم که با حرکت موس روی عکس شفافیت به حالت عادی که ۱ است برگردد پس کد بالا را تکمیل می کنیم :

$(function() {
		$('#opacity img').animate({"opacity": .2 });
$('#opacity img').hover(function() {
$(this).stop().animate({ "opacity": 1 });
					}
		});

به این معنی که هنگامیکه موس روی img آمد شفافیت را به ۱ برسان. خب این کافی نیست چون در این حالت اگر موس رو از روی عکس برداریم به حالت نیم جان که ۰٫۲ است برنمی گردد و همینطور شفاف می ماند. پس کد را تکمیل می کنیم :

$(function() {
		$('#opacity img').animate({"opacity": .2 });
$('#opacity img').hover(function() {
$(this).stop().animate({ "opacity": 1 });

, function() {
						(this).stop().animate({ "opacity": .2 );}
});

یعنی دوباره کد را به حالت اول بر می گردونیم و شفافیت به ۰٫۲ میرسد. به همین سادگی.

برگرفته از ittutorial

 

 

 

مجله علمی پالیک محلی برای دانستن
جمعه 4 اسفند 1391  9:01 PM
تشکرات از این پست
kaktoosii
kaktoosii
کاربر برنزی
تاریخ عضویت : شهریور 1390 
تعداد پست ها : 67
محل سکونت : زنجان

پاسخ به:آموزش jquery از ابتدا

افکتی که امروز یاد خواهیم گرفت بسیار کاربردی و مورد استفاده است. در بسیاری از سایت ها دیدید که هنگام حرکت موس عکسی کنار می رود و نوشته یا عکس زیر آن نمایان می شود. البته من در آموزش امروز ازطرح های قدیمیه خودم استفاده کردم تا روز ولنتاین یا به عبارت درست والنتین رو با جی کوئری ترکیب کنم ! و به این نحو روز عشاق رو به همۀ عاشقان ITT تبریک بگم. کاری که قرار است انجام بدیم به این صورت است که دو عکس رو دقیقاً روی هم قرار می دهیم و با استفاده از جی کوئری کاری می کنیم که عکسی که رو قرار دادیم به طرف راست حرکت کند. البته معمولاً در سایتها عکس به سمت پایین حرکت می کند که به آن هم به صورت زیر انجام می شود. برای این کار ابتدا عکس ها رو مطابق کد زیر بین تگی با class به نام wrap قرار می دهیم.

<body>
    <div class="wrap">
        <img src="01.jpg" alt="image" />
        <img src="02.png" class="front" alt="image" />
     </div>
</body>

خب میبینید که فقط برای عکسی که رو قرار دارد class تعریف کردم چون با عکس زیری اصلاً کاری نداریم. حالا باید سراغ css و ویرایش ظاهری عکس ها بریم که در این آموزش خیلی مهم هست.

<style type="text/css">

body {
	background-color:#000;
}

.wrap {
	width: 340px;
	height: 610px;
	position: relative;
	overflow: hidden;
	float: right;
}

img {
position: absolute;
top: 0;
left: 0;
}
</style>

ابتدا رنگ صفحه رو مشکی کردیم. برای wrap اندازۀ طول و عرض عکسمون رو مشخص می کنیم و position رو به حالت relative قرار می دیم تا بتونیم عکس رو با استفاده از float در گوشۀ راست صفحه قرار بدیم. مهمترین بخش overflow هست. این خاصیت برای اتفاقات و ظواهریست که بیرون از کادری که تعریف کردیم اتفاق می افتد. مثلاً الان که من مقدار hidden رو تعریف کردم یعنی اگر عکس از طول ۳۴۰px و ارتفاع ۶۱۰px خارج شد آن را نشان نده ! برای img هم position رو به صورت absolute قرار دادم تا عکس ها دقیقاً روی هم بیافتند.
دقت کنید اگر مقادیر position و overflow رو پاک کنید خواهید دید که عکس ها به چه حالتی در خواهند آمد. پیشنهاد می کنم حتماً با پاک کردن و اضافه کردن مقادیر مختلف و دیدن نتیجه درک خودتون رو از المان های سازندۀ صفحات وب بیشتر کنید برای سهولت این کار حتماً پیشنهاد سر آشپز ، آخر همین آموزش رو مطالعه کنید.
الان ما دو عکس داریم که روی هم قرار گرفته اند و باید سراغ کد جی کوئری بریم تا با حرکت موس عکس رویی رو به مقدار ۳۴۰px به طرف راست حرکت بدیم. من ابتدا کد رو می نویسم سپس به تفکیک توضیح میدم :

<script type="text/javascript">
    $(function() {
        $('.wrap').hover(function() {
            $(this).children('.front').stop().animate({ "left" : '340px'}, 1000);
        }, function() {
            $(this).children('.front').stop().animate({ "left" : '0'}, 800);
        });
    });
</script>

توضیح کد :
* hover : وقتی صحبت از حرکت موس روی عکس میشه از خاصیت hover استفاده می کنیم و چون حرکت عکس روی wrap مد نظرمون هست کد را به صورت بالا شروع می کنیم.
* this : در آموزش های گذشته توضیح دادیم و حتماً می دانید که اینجا برای صدا زدن .wrap از آن استفاده کردیم.
* children : در جی کوئری این کد به معنای پیدا کردن هست. حتی شما می تونید به جای children از find هم استفاده کنید یعنی شما می خواهیم تگی که class با نام front دارد پیدا کنید و بقیۀ کد ها رو برای اون انجام بدید. ( کد children و find تفاوت کوچیکی داره که در آموزش های بعدی توضیح خواهم داد. )
* stop : کافیه شما stop رو پاک کنید و ببینید چه بلایی سر افکت میاد ! با این حال توضیحش خالی از لطف نیست. با بکار بردن stop می گوییم عکسی که در حال حرکت است در هر جایی که هست باستد و دستورات بعدی انجام شود. اگر از Stop استفاده نکنیم و موس رو با سرعت چندین بار روی عکس ببریم خواهیم دید که عکس مدام رفت و آمد می کند و تمام حرکات را تا انتها انجام میدهد. ( در آموزش جلسۀ هفتم از stop استفاده نکردیم، می توانید برای مثال نمایش روز هفتم را ببینید )
* animate : چون قرار است عکس حرکت کند از animate استفاده می کنیم که قبلاً آشنا شدید. فقط دقت کنید که ما قصد داریم عکس رو به راست بفرستیم پس می گوییم از left به اندازۀ ۳۴۰ پیکسل به راست برو ! این اشتباه رایجیه که خودم زیاد تکرار می کنم و به اشتباه right می نوسم اکثراً. و در نهایت سرعت رفتن عکس رو ۱ ثانیه یا ۱۰۰۰ میلی ثانیه و سرعت برگشت عکس رو ۰٫۸ ثانیه تنظیم کردم.

 

مجله علمی پالیک محلی برای دانستن
جمعه 4 اسفند 1391  9:09 PM
تشکرات از این پست
kaktoosii
kaktoosii
کاربر برنزی
تاریخ عضویت : شهریور 1390 
تعداد پست ها : 67
محل سکونت : زنجان

پاسخ به:آموزش jquery از ابتدا

افکتی که امروز یاد خواهیم گرفت بسیار کاربردی و مورد استفاده است. در بسیاری از سایت ها دیدید که هنگام حرکت موس عکسی کنار می رود و نوشته یا عکس زیر آن نمایان می شود. البته من در آموزش امروز ازطرح های قدیمیه خودم استفاده کردم تا روز ولنتاین یا به عبارت درست والنتین رو با جی کوئری ترکیب کنم ! و به این نحو روز عشاق رو به همۀ عاشقان ITT تبریک بگم. کاری که قرار است انجام بدیم به این صورت است که دو عکس رو دقیقاً روی هم قرار می دهیم و با استفاده از جی کوئری کاری می کنیم که عکسی که رو قرار دادیم به طرف راست حرکت کند. البته معمولاً در سایتها عکس به سمت پایین حرکت می کند که به آن هم به صورت زیر انجام می شود. برای این کار ابتدا عکس ها رو مطابق کد زیر بین تگی با class به نام wrap قرار می دهیم.

<body>
    <div class="wrap">
        <img src="01.jpg" alt="image" />
        <img src="02.png" class="front" alt="image" />
     </div>
</body>

خب میبینید که فقط برای عکسی که رو قرار دارد class تعریف کردم چون با عکس زیری اصلاً کاری نداریم. حالا باید سراغ css و ویرایش ظاهری عکس ها بریم که در این آموزش خیلی مهم هست.

<style type="text/css">

body {
	background-color:#000;
}

.wrap {
	width: 340px;
	height: 610px;
	position: relative;
	overflow: hidden;
	float: right;
}

img {
position: absolute;
top: 0;
left: 0;
}
</style>

ابتدا رنگ صفحه رو مشکی کردیم. برای wrap اندازۀ طول و عرض عکسمون رو مشخص می کنیم و position رو به حالت relative قرار می دیم تا بتونیم عکس رو با استفاده از float در گوشۀ راست صفحه قرار بدیم. مهمترین بخش overflow هست. این خاصیت برای اتفاقات و ظواهریست که بیرون از کادری که تعریف کردیم اتفاق می افتد. مثلاً الان که من مقدار hidden رو تعریف کردم یعنی اگر عکس از طول ۳۴۰px و ارتفاع ۶۱۰px خارج شد آن را نشان نده ! برای img هم position رو به صورت absolute قرار دادم تا عکس ها دقیقاً روی هم بیافتند.
دقت کنید اگر مقادیر position و overflow رو پاک کنید خواهید دید که عکس ها به چه حالتی در خواهند آمد. پیشنهاد می کنم حتماً با پاک کردن و اضافه کردن مقادیر مختلف و دیدن نتیجه درک خودتون رو از المان های سازندۀ صفحات وب بیشتر کنید برای سهولت این کار حتماً پیشنهاد سر آشپز ، آخر همین آموزش رو مطالعه کنید.
الان ما دو عکس داریم که روی هم قرار گرفته اند و باید سراغ کد جی کوئری بریم تا با حرکت موس عکس رویی رو به مقدار ۳۴۰px به طرف راست حرکت بدیم. من ابتدا کد رو می نویسم سپس به تفکیک توضیح میدم :

<script type="text/javascript">
    $(function() {
        $('.wrap').hover(function() {
            $(this).children('.front').stop().animate({ "left" : '340px'}, 1000);
        }, function() {
            $(this).children('.front').stop().animate({ "left" : '0'}, 800);
        });
    });
</script>

توضیح کد :
* hover : وقتی صحبت از حرکت موس روی عکس میشه از خاصیت hover استفاده می کنیم و چون حرکت عکس روی wrap مد نظرمون هست کد را به صورت بالا شروع می کنیم.
* this : در آموزش های گذشته توضیح دادیم و حتماً می دانید که اینجا برای صدا زدن .wrap از آن استفاده کردیم.
* children : در جی کوئری این کد به معنای پیدا کردن هست. حتی شما می تونید به جای children از find هم استفاده کنید یعنی شما می خواهیم تگی که class با نام front دارد پیدا کنید و بقیۀ کد ها رو برای اون انجام بدید. ( کد children و find تفاوت کوچیکی داره که در آموزش های بعدی توضیح خواهم داد. )
* stop : کافیه شما stop رو پاک کنید و ببینید چه بلایی سر افکت میاد ! با این حال توضیحش خالی از لطف نیست. با بکار بردن stop می گوییم عکسی که در حال حرکت است در هر جایی که هست باستد و دستورات بعدی انجام شود. اگر از Stop استفاده نکنیم و موس رو با سرعت چندین بار روی عکس ببریم خواهیم دید که عکس مدام رفت و آمد می کند و تمام حرکات را تا انتها انجام میدهد. ( در آموزش جلسۀ هفتم از stop استفاده نکردیم، می توانید برای مثال نمایش روز هفتم را ببینید )
* animate : چون قرار است عکس حرکت کند از animate استفاده می کنیم که قبلاً آشنا شدید. فقط دقت کنید که ما قصد داریم عکس رو به راست بفرستیم پس می گوییم از left به اندازۀ ۳۴۰ پیکسل به راست برو ! این اشتباه رایجیه که خودم زیاد تکرار می کنم و به اشتباه right می نوسم اکثراً. و در نهایت سرعت رفتن عکس رو ۱ ثانیه یا ۱۰۰۰ میلی ثانیه و سرعت برگشت عکس رو ۰٫۸ ثانیه تنظیم کردم.

 

مجله علمی پالیک محلی برای دانستن
جمعه 4 اسفند 1391  9:09 PM
تشکرات از این پست
دسترسی سریع به انجمن ها