javascript - 如何在调整大小时运行一次脚本?

标签 javascript

假设有 mob、tab 和 desk 的点。 mob is "<768" tab is "> = 768" and "<1024" desk is "> 1024"

原来当你到达标签时,你需要执行一次功能,如果窗口改变并成为暴民,你需要再次执行一次功能,等等。

我这样做了

$(function() {
  var isDevice = "mob"; /* mob tab desk */

  $(window).on("resize", function() {
    var windowWidth = $(window).width();
    if (windowWidth < 768) {
      if (isDevice != "mob") {
        isDevice = "mob";
        console.log(isDevice);
      }
    } else if (windowWidth >= 768 && windowWidth < 1024) {
      if (isDevice != "tab") {
        isDevice = "tab";
        console.log(isDevice);
      }
    } else if (windowWidth >= 1024) {
      if (isDevice != "desk") {
        isDevice = "desk";
        console.log(isDevice);
      }
    }
  });
});

这按预期工作,但也许有更好的方法来实现它?

链接到 codepen.io .

最佳答案

$(function() {
  var isDevice = "mob" /* mob tab desk */
  var doit;
  window.onresize = function(){
    clearTimeout(doit);
    doit = setTimeout(resizedw, 500);
  };   
});

function resizedw(){

 var windowWidth = $(window).width();
 //Implement logic here
    

}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

关于javascript - 如何在调整大小时运行一次脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56914104/

相关文章:

javascript嵌入视频如何知道用户何时观看它

javascript - 更改 Chrome 的 JS 默认行为

javascript - 如何向 Web Speech API 添加标点符号?

javascript - 如何从 FHIR 服务器快速提取所有搜索结果

javascript - 如何使用 Jest 测试动态导入(then 和 catch)

javascript - 使用javascript更改部分链接

javascript - Jquery幻灯片与多个幻灯片间隔不起作用

javascript - 基于javascript中的另一个数组过滤数组

javascript - 将鼠标悬停在表格单元格上时更改主体背景颜色

javascript - 如何让人们将 LI 拖放到列表中的特定位置? (控制台日志问题)