Mootools jquery的blockUI等价物

时间:2012-03-08 20:16:20

标签: javascript mootools blockui

我正在为mootools搜索jquery的插件blockUI功能。你知道一些插件或简单的方法来阻止mootools给定时间的浏览器吗?

1 个答案:

答案 0 :(得分: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。