您的位置:首页 > Web前端 > JQuery

jQuery resize 事件增强版

2016-07-27 10:24 549 查看
/*
* jQuery resize event - v1.1 - 3/14/2010
* http://benalman.com/projects/jquery-resize-plugin/ *
* Copyright (c) 2010 "Cowboy" Ben Alman
* Dual licensed under the MIT and GPL licenses.
* http://benalman.com/about/license/ */
(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);

jquery自带的resize事件只能监听文档窗口改变大小,这个插件可以对任意标签进行监听。

$("#content2").resize(function(){
changeIfranme();
});
$(window.parent.document).find("#content-iframe").load(function(){
var main = $(window.parent.document).find("#content-iframe");
var thisheight = $(document).height()+30;
main.height(thisheight < 500 ? 500 : thisheight);
});

/*控制父窗口框架*/
function changeIfranme(){
var main = $(window.parent.document).find("#content-iframe");
var thisheight = $('.content').height()+100;
main.height(thisheight < 500 ? 500 : thisheight);
}根据子窗口的大小动态改变iframe大小。
<iframe src="/myjjf/home.aspx" id="content-iframe" name="content-iframe" width="980" frameborder="0" scrolling="no" marginwidth="0" marginheight="0"></iframe>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: