2013-07-03 37 views
0

我正在使用块ui来阻止点击按钮上的div。但是,在阻止之后,我希望div应该在延迟后解除阻止。但在我的情况下,div被永久阻止。这里是我的代码:settimeout不能在块中工作ui

<script src="jQuery 1.10.1.min.js" type="text/javascript"></script> 
    <script src="blockui.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('#Button1').click(function() { 
       $('div#blockit').block({ 

        message: '<h6>Processing</h6>', 
        css: { border: '3px solid #a00' } 


       }); 
       setTimeout($.unblockUI, 2000); 
      }); 

     }); 

    </script> 



    <div> 
     <input id="Button1" type="button" value="button" /> 
    </div> 

    <div id="blockit" style="width: 200px; height=200px;"> 

    </div> 

我无法弄清楚为什么settimeout不起作用。请给我解决方案。提前Thanx。

+0

这可能会帮助你。 http://stackoverflow.com/questions/8797421/issues-with-settimeout-inside-jquery-each – Pradeeshnarayan

回答

0

尝试,因为

setTimeout(function(){ $.unblockUI },2000) 
0

尝试

$('#Button1').click(function() { 
      $('div#blockit').block({ 

       message: '<h6>Processing</h6>', 
       css: { border: '3px solid #a00' }, 
       timeout:2000 

      }); 
      //setTimeout($.unblockUI, 2000); 
     }); 
0

我的猜测是你得到一个JavaScript错误,因为unblockui可以使用this,把它你的方式改变this到窗口。

如果您在浏览器中按F12,您是否在控制台中看到脚本错误?

  setTimeout(function(){ 
       $.unblockUI 
      }, 2000); 
0

你必须使用

$('div#blockit').unblock() 

这就是区别

$('id').block() -> $('id').unblock() 

$.blockUI() -> $.unblockUI() 
+0

请记住在发布代码片段时使用代码块。 –