我想知道只有当变量在某段时间内为真时我才能在jquery中触发if语句。像这样的东西if(variable == true // for #ms){do ..}。我需要这个,以便不立即触发ajax后加载。 提前谢谢,马特
jQuery(document).ready(function($) {
$(function()
{
$('#reviewspostscont').each(
function()
{
$(this).jScrollPane(
{
horizontalDragMaxWidth : 100
}
);
var api = $(this).data('jsp');
var throttleTimeout;
$(window).bind(
'resize',
function()
{
if (!throttleTimeout) {
throttleTimeout = setTimeout(
function()
{
api.reinitialise();
throttleTimeout = null;
},
50
);
}
}
);
var count = 2;
$(this).bind(
'jsp-scroll-x',
function(event, scrollPositionX, isAtLeft, isAtRight)
{
var count = 2;
if (isAtRight == true) {
ajaxJScrollLoader();
}
}
);
function ajaxJScrollLoader()
{
api.getContentPane().append(
loadArticle(count),
count++
);
// we could call "pane.jScrollPane(settings)" again but it is
// more convenient to call via the API as then the original
// settings we passed in are automatically remembered.
api.reinitialise();
}
}
)
});
function loadArticle(pageNumber){
$.ajax({
url: "<?php bloginfo('wpurl') ?>/wp-admin/admin-ajax.php",
type:'POST',
data: "action=infinite_scroll&page_no="+ pageNumber + '&loop_file=loop-reviews',
success: function(html){
$(".jspPane").append(html); // This will be the div where our content will be loaded
}
});
return false;
}
});
答案 0 :(得分:1)
您可以使用设置间隔功能并定期检查:
var interval = setInterval(function(){
//Check what you want here
}, 1000);
第二个参数(1000)是以毫秒为单位的时间
如果您需要停止此循环,请执行以下操作:
clearInterval(interval);
答案 1 :(得分:0)
当变量设置为true时,您可以开始超时。
然后每次变量变为false时,停止超时,并在再次设置为true时重新启动超时。
在超时的回调中,你可以在变量为真的那段时间之后放置你想要触发的函数。