显示上一课后隐藏按钮

时间:2013-02-08 14:16:47

标签: javascript jquery

我有以下内容,

$("#slider1next").click(function () {
        $(".text:visible").next().show();
    });

当显示最后一个类(.text)时我想隐藏#slider1next我将如何解决这个问题?

http://jsfiddle.net/ma9ic/U2UZ4/3/

6 个答案:

答案 0 :(得分:3)

show()函数添加回调函数,并评估索引:

$("#slider1next").click(function () {
    $(".text:visible").next().show(function() {  
        if($(this).index() == $('.text').length)
        {
            $('#slider1next').hide();
        }
    });
});

请参阅updated jsFiddle

答案 1 :(得分:3)

试试这个:

$("#slider1next").click(function () {
    var $next = $('.text:visible:last').next();
    $next.length ? $next.show() : $(this).hide();
});

Example fiddle

答案 2 :(得分:2)

$("#slider1next").click(function () {
$(".text:visible").next().show();
if ($('.text:last').is(':visible')){
    $('#slider1next').hide();
}
});

检查最后一个元素是否可见并隐藏按钮。 http://jsfiddle.net/U2UZ4/12/

答案 3 :(得分:1)

您可以检查可见长度是否等于所有文本长度。

http://jsfiddle.net/U2UZ4/6/

$("#slider1next").click(function () {
    if ($(".text:visible").length == $(".text").length) { $(this).hide(); }
    $(".text:visible").next().show();
});

答案 4 :(得分:1)

你需要验证在最后一个节目之后是否有下一个div,就像那个

$("#slider1next").click(function () {
    var next = $(".text:visible:last").next();
    console.log(next);
    if (next.length > 0) {
        next.show();
    } else {
        $(this).hide();
    }
});

答案 5 :(得分:1)

尝试检查fourth_one是否可见,如果可见隐藏slider1next

    $("#slider1next").click(function () {
    $(".text:visible").next().show();
    if($('#fourth_one').is(':visible'))
    {
        $('#slider1next').hide();
    }
});

以下是jsfiddle