【问题标题】:Reload page when window passing certain multiple widths当窗口通过某些多个宽度时重新加载页面
【发布时间】:2013-10-16 23:20:56
【问题描述】:

仅当浏览器窗口的宽度超过 300 像素或 769 像素或 1024 像素时,我才需要重新加载页面

我的请求有一个类似的问题 (http://goo.gl/46jjzH),但批准的答案的唯一问题是页面在仅通过 769px 后重新加载,我需要对 3 种不同尺寸 300px 或 769px 或 1024px 做同样的事情只有 769 像素。

这两个代码只适用于http://goo.gl/46jjzH中的一个特定宽度

@Roko C. Buljan 的第一个代码

var ww = $(window).width();
var limit = 769;

function refresh() {
   ww = $(window).width();
   var w =  ww<limit ? (location.reload(true)) :  ( ww>limit ? (location.reload(true)) : ww=limit );
}

var tOut;
$(window).resize(function() {
    var resW = $(window).width();
    clearTimeout(tOut);
    if ( (ww>limit && resW<limit) || (ww<limit && resW>limit) ) {        
        tOut = setTimeout(refresh, 100);
    }
});

@gdoron 的第二个代码

var width = $(window).width();
$(window).resize(function() {
    if (width > 769 && $(window).width() < 769) {
        location.reload();
    }
    else if (width < 769 && $(window).width() > 769) {
        location.reload();
    }
});​

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    使用第二个代码示例,您可以使用 or 运算符检查替代条件。

    var prevWidth = $(window).width();
    $(window).resize(function() {
        var currentWidth = $(window).width();
    
        if (
            (prevWidth > 769 && currentWidth  < 769) 
            || (prevWidth > 300 currentWidth  < 300)
            || (prevWidth > 1024 currentWidth  < 1024)  
        )
    
        {
            location.reload();
        }
    
    });​
    

    【讨论】:

      猜你喜欢
      • 2015-01-11
      • 2012-05-21
      • 1970-01-01
      • 2012-08-27
      • 2013-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多