我有一个脚本,可根据查询返回的记录数动态生成数据表。
如果表中的行大于5,我想要做的就是运行我的jquery脚本的第二部分。
我的剧本:
Counter = 0;
$(document).ready(function() {
function get_data() {
$.getJSON("get_data_logos.php", function(json){
json = json[0].data;
var tr ;
$('table').html("");
for (var i = 0; i < json.length; i++) {
tr = $('<tr/>');
tr.css("border-bottom","2px solid #FFF");
tr.append("<td width='15%'><div class='clientimage'><img src='../../../../conf_images/boards/" + json[i].ClientImageName + "'></></div></td>");
tr.append("<td width='33%'><div class='clientname-text'>" + json[i].ClientName + "</div></td>");
tr.append("<td width='33%'><div class='roomname-text'>" + json[i].RoomName + "</div></td>");
tr.append("<td width='33%'><div class='time-text'>" + json[i].RoomFromTime + " - " + json[i].RoomToTime + "</div></td>");
Counter++;
console.log(Counter)
$('table').append(tr);
}
});
}
get_data();
setInterval(get_data,60000)
});
//PART TWO
if(Counter > 5) {
var my_time;
$(document).ready(function() {
pageScroll();
});
function pageScroll() {
var objDiv = document.getElementById("contain");
objDiv.scrollTop = objDiv.scrollTop + 1;
console.log(objDiv);
if (objDiv.scrollTop == (objDiv.scrollHeight - 550)) {
objDiv.scrollTop = 0;
}
my_time = setTimeout('pageScroll()', 50);
}
}
非常感谢你的时间。
答案 0 :(得分:1)
问题是if语句只触发一次 - 当页面加载时。我会syggest将它放入一个函数中,并在每次for循环时调用该函数。
Counter = 0;
for (i=1; i<=10; i++) {
Counter++;
console.log('This is test number ' + Counter);
test();
}
function test() {
if (Counter > 5) {
console.log('Counter is higher than 5!');
}
}
每当Counter
高于5时激活该功能。如果您希望它仅在第一次超过5时激活,则只需检查该值是否为6。
Counter = 0;
for (i=1; i<=10; i++) {
Counter++;
console.log('This is test number ' + Counter);
test();
}
function test() {
if (Counter == 6) {
console.log('Counter has reached the value 6!');
}
}