Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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 这个switch语句和jQuery有什么问题?_Javascript_Jquery_Switch Statement - Fatal编程技术网

Javascript 这个switch语句和jQuery有什么问题?

Javascript 这个switch语句和jQuery有什么问题?,javascript,jquery,switch-statement,Javascript,Jquery,Switch Statement,所以你可能会看到我在做什么。我还以为它工作得很好,但后来我注意到它会一次又一次地加载相同的5篇文章。所以我尝试手动添加一个switch语句,但这只会返回uncaughtreferenceerror:赋值的左侧无效,我在谷歌上搜索了一下,发现了一点。可能是因为我在编辑变量,我正在使用开关?但不管怎样,我怎样才能做得更好,或者修复它 $("#loadmore").click(function(e){ if ($(this).attr("varl") == "30"){

所以你可能会看到我在做什么。我还以为它工作得很好,但后来我注意到它会一次又一次地加载相同的5篇文章。所以我尝试手动添加一个switch语句,但这只会返回uncaughtreferenceerror:赋值的左侧无效,我在谷歌上搜索了一下,发现了一点。可能是因为我在编辑变量,我正在使用开关?但不管怎样,我怎样才能做得更好,或者修复它

    $("#loadmore").click(function(e){
         if ($(this).attr("varl") == "30"){
           alert("All posts loaded");
         }else{
        var createDiv = $("<div class='loading" + $(this).attr("varl") +"'></div>");
        createDiv.hide();
        $(createDiv).appendTo("#left").load("loadmore.php?last=" + $(this).attr("varl"));
        switch($("#loadmore").attr("varl")){
            case '5':
                $("#loadmore").attr("varl") = "10";
            break;
            case '10':
                $("#loadmore").attr("varl") = "15";
            break;
            case '15':
                $("#loadmore").attr("varl") = "20";
            break;
            case '20':
                $("#loadmore").attr("varl") = "25";
            break;
            case '25':
                $("#loadmore").attr("varl") = "30";
            break;
        }
        console.log($("#loadmore").attr("varl") + 5);
        $(createDiv).delay(500).slideDown(500);
        }
        e.preventDefault();
        return false;
    });
应该是

$("#loadmore").attr("varl","10");
应该是

$("#loadmore").attr("varl","10");


$loadmore.attrvall=10;工作老实说,我从来没有见过它像这样被用作旁注,没有使用该名称的有效属性,这表明您的标记无效,可能应该查看数据属性;工作老实说,我从来没有见过它像这样被用作旁注,没有使用该名称的有效属性,这表明您的标记无效,可能应该查看数据属性。啊,非常感谢!我考虑了这个问题,但没有考虑太多。它修复了整个代码顺便说一句,再次感谢:-将在10分钟内成为正确答案,当我听到时,非常感谢!我考虑了这个问题,但没有考虑太多。它修复了整个代码顺便说一句,再次感谢:-将在10分钟内成为正确答案,当我canBlazemonger已经指出问题时,但这似乎是一个更好的代码,所以我将投票支持它:+1,以干燥代码。这可能是因为如果在switch cases中只有可能的值,那么switch语句就不需要了。非常感谢各位:您甚至可以用if value%5===0{…}替换case/switch?我的大脑现在已经崩溃了,所以我真的不能做任何事情,正如你从我的错误中看到的那样。有没有人介意做一个小片段呢?Blazemonger已经指出了这个问题,但这似乎是一个更好的代码,所以我将投票支持它:+1以干燥代码。这可能是因为如果在switch cases中只有可能的值,那么switch语句就不需要了。非常感谢各位:您甚至可以用if value%5===0{…}替换case/switch?我的大脑现在已经崩溃了,所以我真的不能做任何事情,正如你从我的错误中看到的那样。有人介意说一小段吗?
var $element = $("#loadmore"),
    value = parseInt($element.attr("varl"),10); // always use a radix

switch ( value ) {
    case 5:
    case 10:
    case 15:
    case 20:
    case 25:
        $element.attr("varl", value + 5); // here's the problem
        break;
}