为什么附加字符串而不附加字符串值?

时间:2014-03-04 08:42:36

标签: jquery

在演示用户滚动到顶部时,它会预先添加文本(字符串值)。但是它是预备字符串。 http://jsfiddle.net/G6jJS/12/

$("#fullContainer").scroll(function () {
    // top
    if ($(this).scrollTop() === 0) {
       alert("up");
      var stringLoad ="page_"+i--;
       $( "<div id='"+stringLoad+"'>" +stringLoad+ "</div>").prependTo($("#fullContainer"));
    }

    if ($('this').scrollTop() >= $('this')[0].scrollHeight - document.body.offsetHeight) { 
       alert("down");
    }
});

2 个答案:

答案 0 :(得分:1)

您无法像这样动态创建变量名称,使用数组

var pages = [page_1, page_2, page_3, page_4];

$('#fullContainer').html(pages.pop());

$("#fullContainer").scroll(function () {
    // top
    if ($(this).scrollTop() === 0 && pages.length) {
        console.log("up");
        var stringLoad = "page_" + pages.length;
        $("<div id='" + stringLoad + "'>" + pages.pop() + "</div>").prependTo($("#fullContainer"));
    }
    if ($(this).scrollTop() >= $(this)[0].scrollHeight - document.body.offsetHeight) {
        console.log("down");
    }
});

演示:Fiddle

答案 1 :(得分:1)

使用window[stringload]获取page_x变量并将页面声明为全局变量。

   $( "<div id='"+stringLoad+"'>" +window[stringLoad]+ "</div>").prependTo($("#fullContainer"));

DEMO