jQuery if语句,检查变量是否为真一段时间

时间:2014-08-20 13:32:47

标签: javascript jquery if-statement

我想知道只有当变量在某段时间内为真时我才能在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;
    }

});

2 个答案:

答案 0 :(得分:1)

您可以使用设置间隔功能并定期检查:

var interval = setInterval(function(){
//Check what you want here
}, 1000);

第二个参数(1000)是以毫秒为单位的时间

如果您需要停止此循环,请执行以下操作:

clearInterval(interval);

答案 1 :(得分:0)

当变量设置为true时,您可以开始超时。

然后每次变量变为false时,停止超时,并在再次设置为true时重新启动超时。

在超时的回调中,你可以在变量为真的那段时间之后放置你想要触发的函数。