我有一个棘手的问题...现在我正在线下工作但很快我将从网络服务获取数据。 现在,当我向下滚动javascript监听器时,推送全局变量上的其他数据......
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() == $(document).height()) {
alert("CARICAAAA!");
//window.gvariabile è la variabile globale che prenderà i risultati
//new data li prenderò dal web service
var newdata=["cocco","pera","melone","anguria","cocco","pera","melone","anguria","cocco","pera","melone","anguria","cocco","pera","melone","anguria","cocco","pera","melone","anguria"];
window.gvariabile.push(newdata);
alert(gvariabile.length);
for(var i=0;i<newdata.length;i++){
div.setAttribute('id2', 'd'+count);
div.innerHTML="<img src='img/eng_ico.jpg' class='logo'> <h3>"+newdata[i]+" "+count+"</h3><p>Dettagli</p><hr class='hor'>";
}
// alert("fuffa2");
//rimetti lo scroll ad inizio pagina
window.scrollTo(0, 1);
}
});
问题是每次加载新数据时,全局变量增量的长度为1 ...而不是20 ...(除了第一次正确加载其他20个数据)
这是我第一次设置全局变量的地方:
function onDeviceReady() {
//qua all'avvio carichiamo i primi risultati
var risultati =["cocco","pera","melone","anguria","cocco","pera","melone","anguria","cocco","pera","melone","anguria","cocco","pera","melone","anguria","cocco","pera","melone","anguria"];
window.gvariabile =risultati;
for(var i=0;i< risultati.length;i++){
var div = document.getElementById('d'+i);
div.setAttribute('id2', 'dd'+i);
div.innerHTML="<img src='img/eng_ico.jpg' class='logo'> <h3>"+risultati[i]+" "+i+"</h3><p>Dettagli</p><hr class='hor'>";
div.addEventListener("click", redirect_click(i), false);
}
}
答案 0 :(得分:1)
简单,尝试使用concat函数并在变量中设置结果,例如:
var newdata = ["cocco", "pera", "melone", "anguria", "cocco", "pera", "melone", "anguria", "cocco", "pera", "melone", "anguria", "cocco", "pera", "melone", "anguria", "cocco", "pera", "melone", "anguria"];
window.gvariable = window.gvariable.concat(newdata);
alert(window.gvariable.length);