Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用按钮使项目可见_Javascript_Jquery_List_Preventdefault - Fatal编程技术网

Javascript 使用按钮使项目可见

Javascript 使用按钮使项目可见,javascript,jquery,list,preventdefault,Javascript,Jquery,List,Preventdefault,我有以下javascript代码: function newsOverview() { $(".list-news li:gt(3)").hide(); $(".box-news .btn-1").on('click', function(e){ e.preventDefault; $(".list-news li:visible:last").nextAll(":lt(4)").fadeIn(600); }); }; 我有一个很大的清单

我有以下javascript代码:

function newsOverview() {
    $(".list-news li:gt(3)").hide();
    $(".box-news .btn-1").on('click', function(e){
        e.preventDefault;
        $(".list-news li:visible:last").nextAll(":lt(4)").fadeIn(600);
    });
};
我有一个很大的清单,上面有很多项目。此脚本每次显示4个li项目。当您点击btn-1按钮时。但是现在我对这个脚本有一个问题

  • 为什么e.preventDefault不起作用?当我点击按钮时。我将滚动回到页面顶部。为什么这不起作用
  • 而且,这是可能的。当所有项目都可见时。按钮消失了
为什么e.preventDefault不起作用

为了实际调用
preventDefault
,您缺少了括号:

function newsOverview() {
    $(".list-news li:gt(3)").hide();
    $(".box-news .btn-1").on('click', function(e){
        e.preventDefault(); // don't forget those
        $(".list-news li:visible:last").nextAll(":lt(4)").fadeIn(600);
    });
};
而且,这是可能的。当所有项目都可见时。按钮消失了

我的jQuery有点生疏,但类似这样的东西应该可以工作:

function newsOverview() {
    $(".list-news li:gt(3)").hide();
    $(".box-news .btn-1").on('click', function(e){
        e.preventDefault();
        if($(".list-news li:hidden").length === 0)
            $(this).hide();
        else
            $(".list-news li:visible:last").nextAll(":lt(4)").fadeIn(600);
    });
};
为什么e.preventDefault不起作用

为了实际调用
preventDefault
,您缺少了括号:

function newsOverview() {
    $(".list-news li:gt(3)").hide();
    $(".box-news .btn-1").on('click', function(e){
        e.preventDefault(); // don't forget those
        $(".list-news li:visible:last").nextAll(":lt(4)").fadeIn(600);
    });
};
而且,这是可能的。当所有项目都可见时。按钮消失了

我的jQuery有点生疏,但类似这样的东西应该可以工作:

function newsOverview() {
    $(".list-news li:gt(3)").hide();
    $(".box-news .btn-1").on('click', function(e){
        e.preventDefault();
        if($(".list-news li:hidden").length === 0)
            $(this).hide();
        else
            $(".list-news li:visible:last").nextAll(":lt(4)").fadeIn(600);
    });
};
1) preventDefault不起作用,因为它是一个函数。 应该是这样的:

e.preventDefault();
2) 要查看是否所有项目都可见,请尝试使用以下代码:

if ($(".list-news li:hidden").lehgth == 0) {
   $(".box-news .btn-1").hide();
}
1) preventDefault不起作用,因为它是一个函数。 应该是这样的:

e.preventDefault();
2) 要查看是否所有项目都可见,请尝试使用以下代码:

if ($(".list-news li:hidden").lehgth == 0) {
   $(".box-news .btn-1").hide();
}

而且,我认为,您始终可以在按钮上使用“return false;”。


而且,我认为,您始终可以在按钮上使用“return false;”。

这应该是一个评论或投票来结束,而不是一个答案。看。这应该是一个评论或投票结束,而不是一个答案。看见