窗口传递某些多个宽度时重新加载页面

时间:2013-10-16 01:27:33

标签: javascript jquery

仅当浏览器窗口传递宽度为300px或769px或1024px时才需要重新加载页面

我的请求有一个类似的问题(http://goo.gl/46jjzH),但批准答案的唯一问题是页面在仅通过769px后重新加载,我需要对3个不同大小的300px或769px进行相同的操作,或者1024px不仅仅是769px。

这两个代码仅适用于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();
    }
});​

1 个答案:

答案 0 :(得分:0)

使用第二个代码示例,您可以使用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();
    }

});​