Jquery延迟执行脚本
有以下内容:
$('#navMain .nav1').hover(function () { $(this).addClass('hover'); if ($.browser.msie && $.browser.version < 7) $('select').css('visibility', 'hidden'); }, function () { $(this).removeClass('hover'); if ($.browser.msie && $.browser.version < 7) $('select').css('visibility', 'visible'); });
将addClass('hover')
hover在$('#navMain .nav1')
元素后,我需要延迟执行addClass('hover')
。
我试过这个,但它不起作用:
$(this).delay().addClass('hover'); if ($.browser.msie && $.browser.version < 7) $('select').delay().css('visibility', 'hidden');
谢谢
setTimeout( function(){ // your stuff here }, 500); // delay 500 ms
用你的代码:
$('#navMain .nav1').hover( function () { setTimeout( function(){ $(this).addClass('hover'); if ($.browser.msie && $.browser.version < 7) $('select').css('visibility', 'hidden'); }, 500); // delay 500 ms }, function () { $(this).removeClass('hover'); if ($.browser.msie && $.browser.version < 7) $('select').css('visibility', 'visible'); } );
如果简单的javascript延迟可以帮助您,您可以执行以下操作:
setTimeout(function() { // your code here }, 3000);
具有以下签名:setTimout(functionToExecute,delayInMs);
和文档: http : //www.w3schools.com/js/js_timing.asp
跳我帮你。