javascript - 在javascript中刷新页面时阻止变量的更改值

标签 javascript

我有 2 个变量名称 first 和 last。当窗口大小小于 768px 时,我希望 first = 1 和 last = 5。当窗口大小大于 768px 时,first = 1 和 last = 3。这是我的代码。

var first = 1;
var last = 5;
window.onresize = function(){
    var w = window.innerWidth 
            || document.documentElement.clientWidth 
            || document.getElementsByTagName('body')[0].clientWidth;

    if (w <= 768){
        first = 1;
        last = 3;
    }

    if (w > 768){
        first = 1;
        last = 5;
    }
} 

成功了。但是当窗口大小为 600px(小于 768px)时,我按 F5(刷新),第一个变量 = 1,最后一个 = 5(这些值已更改)。我想当我按F5时,如果窗口小于768px,它仍然是1和3。我现在该怎么办?帮我。谢谢。

最佳答案

本应如此

现在,我们有一个函数可以根据窗口的宽度设置变量。 我们将调用它两次

  1. 当页面加载时,您应该根据窗口大小设置变量(First,Last)

  2. 调整页面大小时,您应该再次设置变量。

    var first = 1;
    var last = 5;
    
    function setVariables()
    {
    var w = window.innerWidth 
            || document.documentElement.clientWidth 
            || document.getElementsByTagName('body')[0].clientWidth;
    
    if (w <= 768){
        first = 1;
        last = 3;
    }
    
    if (w > 768){
        first = 1;
        last = 5;
    }
    }
    
    window.onresize = function(){
    setVariables();
    } 
    
    setVariables();
    

关于javascript - 在javascript中刷新页面时阻止变量的更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29392485/

相关文章:

javascript - 搜索 2 个字符串中的占位符值

javascript - 创建一个具有固定左右列的 HTML 表格

javascript - Array.every() 检查值是否为假

javascript - WebRTC大规模广播

javascript - HTML,Javascript : difference between an ajax call and changing the source of an iframe

javascript - 每个起始字母只匹配一个单词

javascript - Canvas 特殊形状-动画

javascript - 是否通过浏览器发送没有名称 =“” 的输入字段

javascript - ReactJs 中的命名约定

php - cordova.js 无法在远程页面上工作