Javascript中 非Window的DOM的onresize事件解决方案
来源:互联网 发布:镜像变换 矩阵理论 编辑:程序博客网 时间:2024/05/23 00:37
Javascript 中onresize事件我们会在窗口大小发生改变的时候需要自适应的时候应用上,但是如果是这样的场景呢,那就需要想想其他的解决办法了:
场景1:先上图
页面是上下布局的,通过【上箭头】和【下箭头】控制下部div的大小,需求是:下面的图表需要实现根据DIV来实现图表重绘!
在这种情况下,仅仅有window.onresize的话是不够的,我们需要对监听此DIV的resize从而达到图表的重新绘制功能,贴代码吧:
////this is a Jquery plugin function that fire an event when the size of an element changed //usage $().sizeChanged(function(){})(function ($) {$.fn.sizeChanged = function (handleFunction) { var element = this; var lastWidth = element.width(); var lastHeight = element.height(); setInterval(function () { if (lastWidth === element.width()&&lastHeight === element.height()) return; if (typeof (handleFunction) == 'function') { handleFunction({ width: lastWidth, height: lastHeight }, { width: element.width(), height: element.height() }); lastWidth = element.width(); lastHeight = element.height(); } }, 100); return element;};}(jQuery));有了这段代码的话,我们需要在你需要的地方将对应的DOM绑定上对应的事件处理函数,参考例子:
$(that.dom).sizeChanged(that.myChart.resize);
如果仅仅只想解决你的问题,那倒这里就可以止步了。
一、相关资料和链接
链接1:http://stackoverflow.com/questions/10086693/jquery-resize-on-div-element
这个我建议好好看一下,很多种相关解决办法,上面的脚本其实也来自于这里;
链接2: http://stackoverflow.com/questions/8053583/jquery-resize-listener-on-a-div
二、实现原理(个人体会,如若不对请往死头喷)
1. 记录div 原来的height和width;
2. 使用setTimeout延时查看div的height和width与以前是不是有变化,如果有变化的话调用绑定的函数;
3. 重复第2步骤
0 0
- Javascript中 非Window的DOM的onresize事件解决方案
- IE6中window.onresize事件的处理
- 浏览器缩放不触发window.onresize事件的BUG
- window.onresize 事件笔记
- JavaScript window onresize H5、非H5标准写法
- window的onresize执行多次的解决方法
- javascript之onresize事件
- window.onresize 多次触发的解决方法
- window.onresize获取窗口的变化
- window.onresize(当你改变窗口大小的时候会触发这个事件)
- JavaScript中DOM树的事件流
- JavaScript的dom事件
- JavaScript中window.onload事件的添加
- XZ_JavaScript之JavaScript中常见的事件(DOM事件)
- JavaScript DOM编程基础精华01(DOM入门,DOM模型和获取页面元素,事件,window对象的方法)
- IE下window.onresize被多次执行的解决
- window.onresize监听div和屏幕的改变
- 解决IE中onresize事件句柄被多次调用的问题
- NYOJ——12 喷水装置(二)(区间覆盖)
- 《深入理解Linux网络技术内幕》阅读笔记(二十六)
- Object C Dictionary字典
- Linux中的free命令
- 黑马程序员——C语言学习笔记04 字符、数组和字符串的一些要点。
- Javascript中 非Window的DOM的onresize事件解决方案
- ListView中getView()多次调用原因
- 每天一个linux命令(47):iostat命令
- Netty In Action(翻译)
- WinForm实现仿视频播放器左下角滚动新闻效果的方法
- activity异常被系统杀死处理方法
- OpenStack简易安装教程--Havana版本
- Cookie/Session机制详解
- C#实现实体类与字符串互相转换的方法