我遇到了一个棘手的问题...现在我正在离线工作,但很快我就会从网络服务获取数据。 现在,当我向下滚动 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);
}
}
最佳答案
很简单,尝试使用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);
关于javascript - 获取数据 javascript 并推送到数组 Cordova,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32971881/