2

我有以下,

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

当最后一课(.text)已经显示我想隐藏#slider1next我将如何处理这个?

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

4

6 回答 6

3

向函数添加回调函数show(),并计算索引:

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

请参阅更新的 jsFiddle

于 2013-02-08T14:20:06.407 回答
3

试试这个:

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

示例小提琴

于 2013-02-08T14:20:54.500 回答
2
$("#slider1next").click(function () {
$(".text:visible").next().show();
if ($('.text:last').is(':visible')){
    $('#slider1next').hide();
}
});

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

于 2013-02-08T14:22:11.987 回答
1

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

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

$("#slider1next").click(function () {
    if ($(".text:visible").length == $(".text").length) { $(this).hide(); }
    $(".text:visible").next().show();
});
于 2013-02-08T14:20:17.293 回答
1

您需要验证在最后一个显示之后是否有下一个 div,就像那样

$("#slider1next").click(function () {
    var next = $(".text:visible:last").next();
    console.log(next);
    if (next.length > 0) {
        next.show();
    } else {
        $(this).hide();
    }
});
于 2013-02-08T14:21:21.087 回答
1

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

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

这是jsfiddle

于 2013-02-08T14:22:16.027 回答