2012-03-08 66 views
1

我正在寻找jQuery的mootools的插件blockUI功能。你知道一些插件或简单的方法来阻止浏览器在特定时间由mootools?Mootools jquery的blockUI等效

+0

阻止什么? UI线程?模态屏幕?你有没有尝试过Mootools锻造?你有没有看过mootools-more? – 2012-03-08 22:21:47

+0

我需要20秒,用户浏览器的块,用倒计时的信息请稍候,这样的事情: '的setTimeout(函数(){$ .unblockUI({ onUnblock:函数(){$ 阿贾克斯({ url:'x4-wynik-walki.php', [...] }); } }) },10000);' ' – brushek 2012-03-08 22:56:40

+0

我想,我刚刚找到了我需要的:David Walsh的overlay插件。现在我需要弄清楚如何在倒计时的方块上覆盖一个盒子,并设置超时时间为20秒。感谢您的建议。 – brushek 2012-03-08 23:17:46

回答

1

这里有一些代码让你开始。 http://jsfiddle.net/5BCPS/

取出来我在这里的插件:https://github.com/DimitarChristoff/Modal/blob/master/Source/js/Modal.js

(function() { 

this.Modal = {}; 

Element.implement({ 
    diffuse: function(position){ 
     return this.setStyles({ 
      position: position || 'absolute', 
      top: 0, 
      bottom: 0, 
      left: 0, 
      right: 0, 
      height: '100%', 
      width: '100%' 
     }); 
    } 
}); 

Modal.Overlay = new Class({ 

    Implements: [Events, Options], 

    options: { 
     zIndex: 900000, 
     opacity: .3, 
     backgroundColor: '#555', 
     fx: { 
      duration: 300 
     } 
    }, 

    initialize: function(container, options){ 
     this.setOptions(options); 
     this.container = document.id(container); 
     var self = this; 
     this.element = new Element('div', { 
      'class': 'overlay', 
      styles: { 
       display: 'none', 
       opacity: 0, 
       zIndex: this.options.zIndex, 
       backgroundColor: this.options.backgroundColor 
      }, 
      events: { 
       click: function() { 
        self.fireEvent("overlayClick"); 
       } 
      }, 
      tween: this.options.fx 
     }).diffuse('fixed').inject(this.container); 
     return this; 
    }, 

    show: function(){ 
     this.element.setStyle("display", "block").fade(this.options.opacity); 
     return this.fireEvent("show"); 
    }, 

    hide: function(){ 
     this.element.fade(this.options.opacity).get("tween").chain(function() { 
      this.element.setStyle("display", "none"); 
     }); 
     return this.fireEvent("hide"); 
    } 

}); 

})(); 

var modal = new Modal.Overlay(document.body, { 
    hideAfter: 5, 
    onHide: function() { 
     // do something. 
    } 
}).show(); 


modal.hide.delay(3000, modal); 

所有你需要的是你显示在顶部/计数器的内容。那只是简单的js。

+0

谢谢!我不知道为什么我没有使用你的插件...我多次看到他......测试和使用的时间。 – brushek 2012-03-08 23:35:28