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

解决在IE浏览器中JQuery.resize()执行多次的方法(转)

2014-11-11 09:06 597 查看
最近在做前台效果的时候用到了JQuery提供的resize()事件。resize
这个事件是监听浏览器窗口的放大与缩小,也就是说浏览器窗口大小的变化。

我在W3CSCHOOL上面查阅的时候,提供了一个例子。W3C源码



<</SPAN>html>

<</SPAN>head>

<</SPAN>scripttype="text/javascript"src="/jquery/jquery.js"></</SPAN>script>

<</SPAN>scripttype="text/javascript">

x=0;

$(document).ready(function(){

$(window).resize(function(){

$("span").text(x+=1);

});

$("button").click(function(){

$(window).resize();

});

});

</</SPAN>script>

</</SPAN>head>

<</SPAN>body>

<</SPAN>p>窗口的大小被调整了<</SPAN>span>0</</SPAN>span>次。</</SPAN>p>

<</SPAN>p>请试着调整浏览器窗口的大小。</</SPAN>p>

<</SPAN>button>触发窗口的resize事件</</SPAN>button>

</</SPAN>body>

</</SPAN>html>

结果我在IE环境下放大窗口resize事件执行了两次。后来我在谷歌和百度上面查询了下,都存在IE环境下执行两次的相关信息。最后发现一个很不错的解决方案。国外有个哥子写了个插件专门针对Jquery.resize()事件增强了。地址在这里:http://benalman.com/projects/jquery-resize-plugin/在添加jquery.js之后在添加"jquery.ba-resize.js"就可以了。



<</SPAN>html>

<</SPAN>title>JQuery-resize()</</SPAN>title>

<</SPAN>head>

<</SPAN>scripttype="text/javascript"src="js/jquery.js"></</SPAN>script>

<</SPAN>scripttype="text/javascript"src="js/jquery.ba-resize.js"></</SPAN>script>

<</SPAN>scripttype="text/javascript">

x=0;

$(document).ready(function(){

$(window).resize(function(){

$("span").text(x+=1);

});

});

</</SPAN>script>

</</SPAN>head>

<</SPAN>body>

<</SPAN>p>窗口大小被调整过<</SPAN>span>0</</SPAN>span>次。</</SPAN>p>

<</SPAN>p>请试着重新调整浏览器窗口的大小。</</SPAN>p>

</</SPAN>body>

</</SPAN>html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐