使用Jquery重定向最后一个幻灯片元素

时间:2010-03-15 08:27:41

标签: jquery

我是Jquery的新手,想要在最后一个“下一个”按钮上实现手动幻灯片,页面重定向。

我使用CSS-Classes检测最后一个Slide-Element然后我想在下一个按钮中添加一个Class来声明它是整个幻灯片放映的最后一个按钮。

我的代码的一半工作:) - 如果我导航到最后一个幻灯片元素,Jquery将类“last”添加到按钮,如果我点击带有此类的按钮,我将被重定向到下一个页面 - 这就是我想要的。 但是,如果我导航到最后一个幻灯片元素,然后单击“prev”按钮几次,然后再单击下一个按钮,我会立即重定向,尽管类“最后”被删除了。

提前致谢,抱歉我的英语不好。

这是我的代码:

$(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");
}); 


}); 

1 个答案:

答案 0 :(得分: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);
    });
});