1

所以你可能会看到我想要做什么。而且我认为它也可以正常工作,但后来我注意到它只会一遍又一遍地加载相同的 5 个帖子。所以我尝试手动添加一个 switch 语句,但它只返回“Uncaught ReferenceError: Invalid left-hand side in assignment”,我用谷歌搜索了一下,发现了一点点。可能是我编辑了我正在使用开关的变量?但无论如何,我怎样才能做得更好,或者修复它?

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

2 回答 2

9
$("#loadmore").attr("varl") = "10";

应该

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

http://api.jquery.com/attr/#attr2

于 2013-03-22T20:46:06.163 回答
4
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;
}
于 2013-03-22T20:49:15.270 回答