正文 2208字数 284,045阅读

我不能得到的.delay方法在jQuery的工作: $.delay(3000); // not working $(queue).delay(3000); // not working 我是一个while循环等待,直到一个不受控制的变化值大于或等于另一个,我无法找到任何方式hault执行,持续X秒。 本文地址 :CodeGo.net/405165/ ------------------------------------------------------------------------------------------------------------------------- 1. $。延迟延迟的动画在队列中,不停止执行。 而不是一个while循环,你需要递归调用每一个执行检查setTimeout: var check = function(){ if(condition){ // run when condition is met } else { setTimeout(check, 1000); // check again in a second } } check(); 2. 你也可以延迟操作是这样的: setTimeout(function (){ //something you want delayed }, 5000); // how long do you want the delay to be? 3. JavaScript的setTimeout是一个很好的解决方案: function funcx() { // your code here // break out here if needed setTimeout(funcx, 3000); } funcx(); 该delay在jQuery函数是在一个jQuery动画队列延迟的动画。 4. delay()不停止的码流,然后重新运行它。有没有切实可行的办法做到这一点在JavaScript中.a切都必须与内搭的回调如函数完成setTimeout而其他 jQuery的目的delay()是在执行前做一个动画队列等待。因此,例如,$(element).delay(3000).fadeIn(250);将淡出在3秒后。 5. JavaScript是一种编程语言,所以你不能停止执行了 CodeGo.net,你可以[伪]停止执行,是不是延迟,但“延迟函数回调”的唯一途径。 6. jQuery的delay函数与效果和影响队列,请参见delay文档和其中的例子: $('#foo').slideUp(300).delay(800).fadeIn(400); 如果你想观察一个变量的变化,你可以不喜欢 (function() { var oberverInterval = setInterval(function() { if (/* check for changes here */) { clearInterval(observerInterval); // do something here } } })();
Run code
Cut to clipboard


    <script> function off(url){ layer.load(1); $.ajax( { url: url, //这里是静态页的地址 type: "GET", //静态页用get方法,否则服务器会抛出405错误 async:false, success: function(data){ layer.closeAll(); layer.open({ type: 1, title: false, area: ['1000px', '550px'], closeBtn: 0, shade: 0.5, content: data //注意,如果str是object,那么需要字符拼接。 }); setTimeout(function (){ var okkk=$("#sucaiffff").niceScroll({ cursorcolor:"#000", cursoropacitymax:1, touchbehavior:false, cursorwidth:"3px", cursorborder:"0", cursorborderradius:"0px" }); }, 1000); } }); } </script>
    Run code
    Cut to clipboard