最近在做前臺效果的時候用到了JQuery提供的resize()事件。resize 這個事件是監聽瀏覽器視窗的放大與縮小,也就是說瀏覽器視窗大小的變化。
我在W3CSCHOOL上面查閱的時候,提供了一個例子。W3C原始碼
- <html>
- <head>
- <script type="text/javascript" src="/jquery/jquery.js"></script>
- <script type="text/javascript">
- x=0;
- $(document).ready(function(){
- $(window).resize(function() {
- $("span").text(x+=1);
- });
- $("button").click(function(){
- $(window).resize();
- });
- });
- </script>
- </head>
- <body>
- <p>視窗的大小被調整了 <span>0</span> 次。</p>
- <p>請試著調整瀏覽器視窗的大小。</p>
- <button>觸發視窗的 resize 事件</button>
- </body>
- </html>
結果我在IE環境下放大視窗 resize 事件執行了兩次。後來我在谷歌和百度上面查詢了下, 都存在IE環境下執行兩次的相關資訊。最後發現一個很不錯的解決方案。 國外有個哥子寫了個外掛專門針對Jquery.resize()事件增強了。 地址在這裡:http://benalman.com/projects/jquery-resize-plugin/ 在新增jquery.js之後在新增 "jquery.ba-resize.js" 就可以了。
- <html>
- <title>JQuery - resize()</title>
- <head>
- <script type="text/javascript" src="js/jquery.js"></script>
- <script type="text/javascript" src="js/jquery.ba-resize.js"></script>
- <script type="text/javascript">
- x=0;
- $(document).ready(function(){
- $(window).resize(function() {
- $("span").text(x+=1);
- });
- });
- </script>
- </head>
- <body>
- <p>視窗大小被調整過 <span>0</span> 次。</p>
- <p>請試著重新調整瀏覽器視窗的大小。</p>
- </body>
- </html>