我有一個滑動腰帶中可變數量的促銷項目(panels
),應該設置爲面板的寬度(300px
)乘以面板的數量。jquery/javascript中的語法或邏輯錯誤
它提醒正確的皮帶尺寸。固定數字滑塊也可以工作。我懷疑錯誤在if/else if
部分。我甚至不確定這是否是有效的Javascript語法。
任何提示表示讚賞。
$(window).ready(function(){
var whichpanel = 1;
var panels = $(".panel").length;
var beltsize = panels*300;
$('.belt').css({'width':beltsize});
});
$(window).ready(function promoslider(){
if (panels>whichpanel){
$('.belt').delay(7000).animate({'left':'-=300'}, 500);
whichpanel += 1;
}
else if (panels=whichpanel){
$('.belt').delay(7000).animate({'left':'0'}, 500);
whichpanel = 1;
}
setTimeout(promoslider, 0);
});
promoslider;
更新!下面是我現在工作的代碼(http://jsfiddle.net/zr5Nd/10/):
$(window).ready(function() {
var whichpanel = 1;
var panels = $(".panel").length;
var beltsize = panels * 300;
$('.belt').css({
'width': beltsize
});
function movingdiv() {
if (panels > whichpanel) {
//alert('Panels:' + panels + '/whichpanel:' + whichpanel);
$('.belt').delay(1000).animate({
'margin-left': '-=300px'
}, 500);
whichpanel += 1;
} else if (panels == whichpanel) {
//alert('Panels:' + panels + '/whichpanel:' + whichpanel);
$('.belt').delay(1000).animate({
'margin-left': '0'
}, 500*panels);
whichpanel = 1;
} else {
alert('3');
}
setTimeout(movingdiv, 0);
}
setTimeout(movingdiv, 0);
});
我改變了promoslider;到promoslider();也把它放在就緒功能裏面,也改變了操作員,但它仍然不動。必須有一個或多個額外的錯誤... – user2164882 2013-04-08 12:21:04
這是它的一個小提琴:http://jsfiddle.net/Coffeehouse/zr5Nd/3/因爲它仍然不起作用 – user2164882 2013-04-08 13:22:00