ورود

View Full Version : توضیح این کد



bftarane
یک شنبه 28 مهر 1392, 11:30 صبح
<script type="text/javascript">
$(function(){
$('.fadein img:gt(0)').hide();
setInterval(function(){
$('.fadein :first-child').fadeOut()
.next('img').fadeIn()
.end().appendTo('.fadein');},
3000);
});
</script>
سلام.
معنی اون (0)gt در اینجا چیه؟
اینم لینکش
http://snook.ca/archives/javascript/simplest-jquery-slideshow
من می خوام کاری کنم که به جای img یه دیو داشته باشم که داخلش بتونم هر المنتی بزارم مثل img، لینک، Button و متن و به همه اینها مثل یک عنصر واحد نگاه بشه و همه اینا مثل یه اسلاید در نظر گرفته بشن و وقتی نوبت اسلاید بعدی شد حالا یه عکس دیگه به همراه لینک و متن و ... دیگه نشون داده بشه.
امیدوارم منظورم رو گرفته باشید.
به خاطر همین اومدم کدها رو اینجوری تغییر دادم ولی درست عمل نمی کنه.

<script type="text/javascript">
$(function(){
$('.fadein div:gt(0)').hide();
setInterval(function(){
$('.fadein :first-child').fadeOut()
.next('div').fadeIn()
.end().appendTo('.fadein');},
3000);
});
</script>

<div class="fadein">

<div><img src="Images/s1.jpg"/></div>
<div><img src="Images/s2.jpg"/></div>
<div><img src="Images/s4.jpg"/></div>
</div>

jalil_gh
یک شنبه 28 مهر 1392, 21:22 عصر
کار میکنه که؟؟

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
.fadein div {
width: 200px;
height: 200px;
background-color: skyblue;
position: absolute;
}
</style>
</head>
<body>
<div class="fadein">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
<script src="lib/jquery.js"></script>
<script>
$(function(){
$('.fadein div:gt(0)').hide();

setInterval(function(){
$('.fadein :first-child').fadeOut()
.next('div').fadeIn()
.end().appendTo('.fadein');
}, 3000);
});
</script>
</body>
</html>
اینا باید چه کاری انجام بدن که نمیدن؟
در ضمن gt هم یعنی بزرگتر از. تو کد شما یعنی divهای بعد از اولی. ایندکسش از صفر شروع میشه.

bftarane
یک شنبه 28 مهر 1392, 21:32 عصر
مثلاً انتظار داشتم وقتی به این صورت نوشتم

<div>1 <a href="#">ddddd</a></div>
یعنی کنار اون 1 که شما نوشتین یه مثلاً تگ a هم گذاشتم کنار اون تگ a یه ایمیج هم گذاشتم این سه تا رو به عنوان یه اسلاید نشون بده بعد بره مثلاً 2 رو نشون بده.
البته در تالار طراحی وب یه نمونه یکی از بچه ها گذاشته بود که کارم راه افتاد ولی دوست دارم با اینم نتیجه بگیرم. البته شاید اگه وقت بزارم خودم بتونم این کار رو بکنم ولی اگه کسی راهنمایی می تونه بکنه که چه بهتر.

الآن فقط دفعه اول لینک رو هم نشون می ده ولی دوباره که قراره از اول اسلایدها نشون داده بشن فقط 1 رو نشون میده و لینک رو نشون نمیده.

jalil_gh
دوشنبه 29 مهر 1392, 09:45 صبح
اگه به این صورت بنویسید درست میشه:
$(function(){
$('.fadein div:gt(0)').hide();

setInterval(function(){
$('.fadein div:first-child').fadeOut()
.next('div').fadeIn()
.end().appendTo('.fadein');
}, 3000);
});