1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /*
- * @Describe: div大小监听事件
- */
- (function ($, h, c) {
- var a = $([]),
- e = $.resize = $.extend($.resize, {}),
- i,
- k = "setTimeout",
- j = "resize",
- d = j + "-special-event",
- b = "delay",
- f = "throttleWindow";
- e[b] = 250;
- e[f] = true;
- $.event.special[j] = {
- setup: function () {
- if (!e[f] && this[k]) {
- return false;
- }
- var l = $(this);
- a = a.add(l);
- $.data(this, d, {
- w: l.width(),
- h: l.height()
- });
- if (a.length === 1) {
- g();
- }
- },
- teardown: function () {
- if (!e[f] && this[k]) {
- return false;
- }
- var l = $(this);
- a = a.not(l);
- l.removeData(d);
- if (!a.length) {
- clearTimeout(i);
- }
- },
- add: function (l) {
- if (!e[f] && this[k]) {
- return false;
- }
- var n;
- function m(s, o, p) {
- var q = $(this),
- r = $.data(this, d);
- r.w = o !== c ? o : q.width();
- r.h = p !== c ? p : q.height();
- n.apply(this, arguments);
- }
- if ($.isFunction(l)) {
- n = l;
- return m;
- } else {
- n = l.handler;
- l.handler = m;
- }
- }
- };
- function g() {
- i = h[k](function () {
- a.each(function () {
- var n = $(this),
- m = n.width(),
- l = n.height(),
- o = $.data(this, d);
- if (m !== o.w || l !== o.h) {
- n.trigger(j, [o.w = m, o.h = l]);
- }
- });
- g();
- },
- e[b]);
- }
- })(jQuery, this);
|