jquery下div 的resize事件示例代码

2014-03-09 11

这是某位大神写的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字符编码函数区别分析
Jun 05 8
js图片跟随鼠标移动代码
Nov 26 6
javascript的几种继承方法介绍
Mar 22 6
jQuery事件用法详解
Oct 06 7
Vue.js中轻松解决v-for执行出错的三个方案
Jun 09 4
Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
Jul 03 13
JavaScript函数Call、Apply原理实例解析
Feb 17 14
手机访问当前页面