jquery循环插件
问题描述:
我一直在使用jquery循环插件(malsup.com/jquery/cycle),它的功能与我想要的完全一样,只是它看起来并没有将第一张幻灯片识别为幻灯片。我正在使用onAfter函数来打开和关闭下一个/ prev链接,并适当地打开和关闭 显示页面1?但是下一个链接在第2页 上自己保留(当您预期前导链接已经出现时),并且尽管 页面的计数正确,但页面2显示为与实际页面1相同的第1页,共7页 )。你可以明白我的意思的:jquery循环插件
http://www.nottingham.ac.uk/~ttzelrn/ma-tesol/module1/unit1/index.php
的div的结构相当复杂,但我认为这是声音,正如 我说,插件计数的div确定。下面
代码:
$(document).ready(function() {
$('#cycle-content').cycle({
fx: 'none',
prev: '#prev',
next: '#next',
after: onAfter,
timeout: 0
});
function onAfter(curr, next, opts) {
var index = opts.currSlide;
$('#prev')[index == 0 ? 'hide' : 'show']();
$('#next')[index == opts.slideCount - 1 ? 'hide' : 'show']();
var caption = 'Page ' + (opts.currSlide + 1) + ' of ' +
opts.slideCount;
$('#caption').html(caption);
}
});
我会为任何帮助,真的很感谢。
马修
答
你不会在你的回调后递增currSlide。尝试这样的:
$(document).ready(function() {
$('#cycle-content').cycle({
fx: 'none',
prev: '#prev',
next: '#next',
after: onAfter,
timeout: 0
});
});
function onAfter(curr, next, opts) {
var index = opts.currSlide;
$('#prev')[index == 0 ? 'hide' : 'show']();
$('#next')[index == opts.slideCount - 1 ? 'hide' : 'show']();
opts.currSlide++;
var caption = 'Page ' + (opts.currSlide) + ' of ' + opts.slideCount;
$('#caption').html(caption);
}
非常感谢这 - 很遗憾,它不能解决问题。它现在跳过幻灯片2并导致所有幻灯片相互重叠。 – Matthew 2009-11-14 16:56:33
我也只是注意到你已经把onAfter方法放在document.ready方法中。试试我上面编辑的修改。 – SimonDever 2009-11-15 02:00:19
再次感谢Ambrosia - 我终于发现,如果fx:(它支配转换效果)被设置为'none',那么原始代码只会失败。所有其他效果(scrollHorz,淡入淡出等)完美地工作。感谢你的宝贵时间。 – Matthew 2009-11-15 13:44:22