jquery下div 的resize事件示例代码

2014-03-09 24

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

//resize of 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);

这样就可以 $('div').resize(fucntion(){ .. }); 了
展开阅读全文

更多Javascript文章

jQuery源码分析-03构造jQuery对象-源码结构和核心函数
Nov 14 29
jQuery添加options点击事件并传值实例代码
May 18 19
全面接触神奇的Bootstrap导航条实战篇
Aug 01 17
JS刷新父窗口的几种方式小结(推荐)
Nov 09 13
详解js的视频和音频采集
Aug 09 23
VSCode使用之Vue工程配置eslint
Apr 30 33
浅谈vue中$event理解和框架中在包含默认值外传参
Aug 07 26
手机访问当前页面