jQuery event to trigger action when a div is made visible

后端 未结 22 2556
你的背包
你的背包 2020-11-22 12:03

I\'m using jQuery in my site and I would like to trigger certain actions when a certain div is made visible.

Is it possible to attach some sort of \"isvisible\" even

22条回答
  •  一向
    一向 (楼主)
    2020-11-22 12:20

    a hide/show event trigger based on Glenns ideea: removed toggle because it fires show/hide and we don't want 2fires for one event

    $(function(){
        $.each(["show","hide", "toggleClass", "addClass", "removeClass"], function(){
            var _oldFn = $.fn[this];
            $.fn[this] = function(){
                var hidden = this.find(":hidden").add(this.filter(":hidden"));
                var visible = this.find(":visible").add(this.filter(":visible"));
                var result = _oldFn.apply(this, arguments);
                hidden.filter(":visible").each(function(){
                    $(this).triggerHandler("show");
                });
                visible.filter(":hidden").each(function(){
                    $(this).triggerHandler("hide");
                });
                return result;
            }
        });
    });
    

提交回复
热议问题