2011-11-10 3 views
0

슬라이드 쇼가 있습니다. 마우스를 가져 가면 간격이 지워집니다. 마우스를 가져 가면 간격이 시작됩니다. interval 함수는 mouseover에서 추가 된 활성 클래스를 li 중 하나에 푸시하여 다음 li로 푸시합니다. 시작하려면 슬라이드 쇼 중 하나에서 마우스 오버 기능을 트리거해야합니다. 내가 호흡을 맞출 때, 나는 간격을 없애지 만, 마우스가 더 이상 어떤 뚜껑보다 길지 않기 때문에 활성 클래스를 제거한다. 그래서 지금까지 슬라이드 쇼가 다시 시작되었지만 첫 번째 li에서만 시작되었습니다. 마지막으로 li 마우스 오버를 저장 한 다음 슬라이드 쇼를 시작하려면 어떻게합니까? 아래 코드는 내 코드입니다 ...jquery 마지막 마우스 트리거를 저장하는 방법

var timer, autoAdvance = function(){$("#accordion-slider li:first").addClass('first');$("#accordion-slider li:last").addClass('last');var currentSlide=$("#accordion-slider .active");var nextSlide=$("#accordion-slider .active").next();(!currentSlide.is('.last'))?$(nextSlide).trigger('mouseover'):$("#accordion-slider .first").trigger('mouseover')/*.next().addClass('next')*/;} 
var timer = setInterval(autoAdvance,2000); 

$().ready(function() { 
    //using kwicks plugin for slides 
$('#accordion-slider').kwicks({ 
    max : 500, 
    spacing : 5, 
}); 


$('#accordion-slider').hover(function() { 
    clearInterval(timer); 
}, function() { 
    timer = setInterval(autoAdvance, 2000); 
    $("ul#accordion-slider li:first").trigger('mouseover'); 
     }); 

답변

1

나는 귀하의 접근 방식이 최선의 접근법이라고 말하지 않습니다. 그러나 그것은 내가 추측하는 모든 학습 곡선입니다. 데이터를 저장하려면 data() 특성을 사용하십시오. 당신은 이렇게 accordian - 슬라이더에있는 데이터를 사용할 수 있습니다

//-- set 
$("ul#accordian-slider").data("somekey", "somevalue"); 

//-- get 
$("ul#accordian-slider").data("somekey"); 
+0

당신의 접근 방법은 무엇입니까? – webestdesigns

+0

아마도 이런 걸 http://jsfiddle.net/pT4t7/17/ – Lee