我有一个脚本,当这样写时可以正常工作:
var isPaused = false,
jQuery(function () {
var $els = $('div[id^=film]'),
i = 0,
len = $els.length;
$els.slice(1).hide();
setInterval(function () {
if (!isPaused) {
if (len > 1) {
$els.eq(i).fadeOut(function () {
i = (i + 1) % len;
$els.eq(i).fadeIn();
});
}
}
}, 3500);
});
但我想添加一个下一个和上一个按钮,所以我像这样重写,我认为这会起作用。
var isPaused = false,
$els = $('div[id^=film]'),
i = 0,
len = $els.length;
$els.slice(1).hide();
setInterval(Slide(1), 3500);
function Slide (x) {
if (!isPaused) {
if (len > 1) {
$els.eq(i).fadeOut(function () {
i = (i + x) % len;
if (i<0) {
i = len;
}
$els.eq(i).fadeIn();
});
}
}
}
$('#next').click(Slide(1));
$('#prev').click(Slide(-1));
但是这段代码只是在页面加载时显示所有 div,然后不会将它们淡入和淡出或允许下一个和上一个按钮工作。我究竟做错了什么?
更新 也许我应该以不同的方式问这个问题。给定第一个代码块,我应该如何更改它以启用 Prev 和 Next 按钮?