我正在制作带有两个导航元素(顶部和底部)的幻灯片。我曾多次使用过代码,但从未以这种方式使用过。
$('#list-links li a, #list-tab li a').hover(function(){
$('#list-links li, #list-tab li').removeClass('hover');
var i = $(this).index('#list-links li a, #list-tab li a');
$(this).parent().addClass('hover');
$('#slide-wrap').stop().animate({'marginLeft' : width*(-i)});
});
基本上这会在列表中添加和删除一个类(悬停),以便我可以相应地设置样式。问题是它不会以这种方式工作。导航变得独立,这意味着虽然导航 a) 可能在第二张幻灯片上,但导航 b) 不会更新,并且如果它在第一张幻灯片上,悬停类仍然具有。有人可以帮忙吗?
哦,原来的完整代码是这样的:
$(document).ready(function() {
// Declare variables
var width = 718; // width of slide - required for animation calculation
var slides = $('#list-images li');
var numSlides = slides.length;
// Wrap the slides & set the wrap width - this will be used to animate the slider left/right
slides.wrapAll('<div id="slide-wrap"></div>').css({'float' : 'left','width' : width});
$('#slide-wrap').css({width: width * numSlides});
// Hover function - animate the slides based on index of active link
$('#list-links li a').hover(function(){
$('#list-links li').removeClass('hover');
var i = $(this).index('#list-links li a');
$(this).parent().addClass('hover');
$('#slide-wrap').stop().animate({'marginLeft' : width*(-i)});
});