2 つのナビゲーション要素 (上部と下部) を持つスライドショーを作成しています。私はコードを数回使用しましたが、この方法で使用したことはありません。
$('#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)});
});
基本的に、これはリストにクラス (ホバー) を追加および削除して、それに応じてスタイルを設定できるようにします。問題は、この方法では機能しないことです。naviagtion は独立しました。つまり、ナビゲーション a) が 2 番目のスライドにある可能性がありますが、ナビゲーション b) は更新されず、スライド 1 にある場合でもホバー クラスが保持されます。誰か助けてくれませんか?
ああ、元の完全なコードは次のとおりです。
$(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)});
});