シンプルなコンテンツ スライダーがあります。誰かが赤い四角を何度もクリックすると、スライドが積み重なっていきます。
setTimeout を使用して、動作中に多くのクリックを防止しましたが、再びスタックしました。アンバインド/バインドも機能しませんでした。このjsFiddle Codeにサンプルを入れました。誰かが赤い四角をクリックしたときに次のスライドが何度も表示されないようにするにはどうすればよいですか?
これは、動作しない unbind で使用したコードです。
$(function(){
$(".circle").click(function(e){
$(".circle").unbind('click');
var ref = $(this);
var id= parseInt(ref.attr('id'));
$(".circle").attr('src','inactive-circle.gif');
ref.attr('src','active-circle.gif');
$(".boxicon").fadeOut(50,function(){
$("#slide"+id).fadeIn(450);
$(".circle").bind('click');
});
});
})
少し変更を加えた最終結果:
$(".circle").click(function() {
var id = parseInt($(this).attr('id'), 10);
$(".circle").attr('src', 'inactive-circle.gif');
$(this).attr('src', 'active-circle.gif');
$(".boxicon").hide();
$("#slide" + id).stop(true, false).fadeIn(250);
});