站长技术网

首页 > 网站基础 > HTML教程 >

jquery下div 的resize事件示例代码

点评:本文主要介绍了某位大神写的jquery下p 的resize事件,需要的朋友可以参考下!

这是某位大神写的jquery下p 的resize事件。

复制代码 代码如下:

//resize of p

(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);

这样就可以 $('p').resize(fucntion(){ .. }); 了