jquery下div 的resize事件示例代码

2014-03-09 46

这是某位大神写的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文章

表单提交时自动复制内容到剪贴板的js代码
Mar 16 46
JavaScript中的依赖注入详解
Mar 18 44
基于jquery实现全屏滚动效果
Nov 26 36
Bootstrap+jfinal实现省市级联下拉菜单
May 30 30
vue组件Prop传递数据的实现示例
Aug 17 43
JavaScript ES6箭头函数使用指南
Dec 30 49
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
Aug 17 48
手机访问当前页面