2010-03-15 28 views
0

我很新的jquery,並希望實現一個手動幻燈片頁面重定向上的「下一個」按鈕。重定向在最後一個幻燈片顯示元素與jquery

我用CSS-Classes檢測最後一個Slide-Element,然後我想添加一個Class到下一個按鈕來聲明它是整個幻燈片的最後一個按鈕。

我的代碼的一半工作:) - 如果我導航到最後一個幻燈片元素,Jquery將類「最後」添加到按鈕,如果我點擊與此類的按鈕,我重定向到下一頁 - 這就是我想要的。 但是,如果我導航到最後一個幻燈片元素,然後單擊幾次「prev」按鈕,然後再次按下下一個按鈕,雖然類「last」被刪除,但我立即重定向。

在此先感謝和抱歉我的英語不好。

這裏是我的代碼:

$(document).ready(function(){ 

$("#image_nav a:first").attr('id', 'firstSlide'); 
$("#image_nav a:last").attr('id', 'lastSlide'); 

$(".dritte_ebene li:first").attr('id', 'firstNavi'); 
$(".dritte_ebene li:last").attr('id', 'lastNavi'); 

//Redirect to the next page 
$("a").click(function(){      
if ($("#lastSlide").hasClass("activeSlide")) { 
$("#weiter").addClass("last"); 
$('.slide').cycle('pause'); 
    $(".last").click(function(){ 
    window.location.replace("[+PJN_next+]");  
    }); 
} 
});  

//Remove "last" if prev is clicked 
$('#zurueck').click(function(){ 
$("#weiter").removeClass("last"); 
}); 


}); 

回答

0

你忘了取消綁定添加點擊功能。因此,下次您點擊.last時,將執行重定向。將您的代碼更改爲此。允許您僅解除重定向功能。

var lastHandler = function() { 
    window.location.replace("[+PJN_next+]"); 
}; 

$(document).ready(function() { 
    $("#image_nav a:first").attr('id', 'firstSlide'); 
    $("#image_nav a:last").attr('id', 'lastSlide'); 

    $(".dritte_ebene li:first").attr('id', 'firstNavi'); 
    $(".dritte_ebene li:last").attr('id', 'lastNavi'); 

    //Redirect to the next page 
    $("a").click(function() { 
     if ($("#lastSlide").hasClass("activeSlide")) { 
      $("#weiter").addClass("last").click(lastHandler); 
      $('.slide').cycle('pause'); 
     } 
    }); 

    //Remove "last" if prev is clicked 
    $('#zurueck').click(function() { 
     $(".last").removeClass("last").unbind('click', lastHandler); 
    }); 
}); 
相關問題