私はこれを機能させることができません:私のギャラリーで、「箇条書き」をクリックすると(setIntervalが既に実行されている場合)、バグがあります,例:
ギャラリーを実行させたとき:編集:箇条書きのクリックが正しく機能しませんでした:
var current = 0;
/* click on BULLETS : i think the problem is in this function */
pts.live('click', function () {
var index = $(this).index();
clearInterval(timer);
current = index-1;
timer = setInterval(function() { showImage(current) },2000);
return false;
});
EDIT:Gavrielに感謝します。確かにaddClassの方が良いようです!しかし、箇条書きのクリックを修正することはできません。箇条書きをクリックすると、間隔を「停止」して、クリックした画像に直接移動したいと思います。出来ますか?試してみると(以下を参照してください)、「現在の」画像はそのままで、1〜2秒間そのままで、何も起こらなかったかのように間隔が再開されます...何かわかりますか?
/* click on BULLETS : */
pts.live('click', function () {
var index = $(this).index();
clearInterval(timer);
li.removeClass('next');
li.eq(index).addClass('next');
showImage();
timer = setInterval(function() { nextImage() }, 1000);
return false;
});
//TIMER
var timer = setInterval(function() { nextImage() }, 1000);
li.eq(0).addClass('next');
function nextImage(){
var index = $('#contG').find('li:.next').index();
$('#contG').find('li:.next').removeClass('next').addClass('current');
/*design bullet */
var pts_li = $("#points").find('ul').find('li');
pts_li.removeClass('activ');
/* limit */
var total = li.length; //3
if (index+1>total-1) {
index = 0;
} else {
index = index+1;
}
li.eq(index).removeClass('current').addClass('next');
pts_li.eq(index).addClass('activ');
showImage();
}
/* SHOWIMAGE */
function showImage(){
//clearInterval(timer);
$('#contG').find('li:.next').fadeIn("slow");//FADEIN
$('#contG').find('li:.current').fadeOut("slow");//FADEOUT
}
EDIT N°2 : ファイナルコンバット
わかりました私は最終的にこれを解決する方法を見つけました... :-) Firebugに感謝します:
コードは次のとおりです。
pts.live('click', function () {
var index = $(this).index();
clearInterval(timer);
$('#contG').find('li:.next').removeClass('next').addClass('current');
li.eq(index).removeClass('current').addClass('next');
showImage();
timer = setInterval(function() { nextImage() }, 2500);
return false;
});
どうもありがとう