在jquery中结合onLoad,onResize和onRefresh

时间:2014-06-30 17:24:07

标签: javascript jquery html load refresh

我希望网站在页面加载和调整大小时执行某个jquery脚本(允许我将垂直菜单的高度拉伸到浏览器窗口的高度)。

所以我写了一篇类似的jquery:

jQuery(document).ready(function ($) {
$(window).on('resize', function() {
<code to execute>
}).trigger('resize');
});

我的问题是,当有人加载页面或调整大小时,此代码运行良好,但当按下刷新按钮时它不起作用。在这种情况下,我怎样才能使代码工作? 提前感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

试试这个:

var myFn = function() { console.log('hello world') };

jQuery(document).ready(function ($) {
  myFn();
  $(window).on('resize', function() {
    myFn();
  });
});

答案 1 :(得分:0)

jQuery(document).ready(function ($) {
    function Resize(){
        $(window).on('resize', function() {
            <code to execute>
        }).trigger('resize');
    }
});

只要您需要,请拨打此Resize()。无论是在加载还是在点击时。

答案 2 :(得分:0)

事实证明,我在自己的问题中描述的方式不仅仅是正确的。它的工作方式非常好,即使是在Refresh。什么没有让我的脚本正常工作是因为我使用的其中一个变量会在页面加载完成后发生变化,所以当我点击“刷新”时,它会给出与开头不同的值。 因此,对于stackoverflow.com的每个用户,请注意每当您想要设置事件onLoad,onResize和onRefresh 时,最简单和最好的方法是:

jQuery(document).ready(function ($) {
$(window).on('resize', function() {
<code to execute>
}).trigger('resize');
});

事实上,glortho的建议可行,但那是使用另一个变量,并且在我的拙见中,这将使整个事情更加多余。 感谢大家的帮助和阅读。