javascript - jquery 窗口加载函数在加载时不执行任何操作

标签 javascript jquery html

第一次在这里发帖,只是想知道在我为包含菜单元素的外部 html 文件编写的这个小 jquery 脚本中我做错了什么。它适用于调整大小,但不加载。我尝试过独立的 $(window).load();事件也是如此,似乎没有任何作用。我是 jQuery 新手,只知道该做什么和不该做什么!

jQuery(document).ready(function($) {
  var vwidth = $(window).width();
  var vheight = $(window).height();
  var menu = $('#menu_container');

  $( window ).on('load resize', function() {
    if (vwidth >= 1000) {
      menu.css('zoom', '1');
    } else {
      menu.css('zoom', '0.8');
    }
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

最佳答案

这里有两个问题。 @Mr. 已经解释过了。多旋风。 另一个事实是 DOM 就绪事件将在 window.load 之后执行。事件。这意味着到时候jQuery(document).ready执行$(window).load已经发生了,所以注册window.load的事件有点晚了。试试这个...

//this is essentially the same as jQuery(document).ready
$(function(){
    toggleZoom();

    $(window).on("resize", function(){
        toggleZoom();
    });
});



function toggleZoom(){    
  var vwidth = $(window).width();
  //this isn't needed in this snippet
  //var vheight = $(window).height();
  var menu = $('#menu_container');


    if (vwidth >= 1000) {
      menu.css('zoom', '1');
    } else {
      menu.css('zoom', '0.8');
    }
}

关于javascript - jquery 窗口加载函数在加载时不执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55175009/

相关文章:

javascript - 在没有提交按钮的情况下选中时如何获取复选框名称

html - 如果文本很长,Firefox 35.0 会切断标题工具提示

css - Bootstrap 3 - 如何让下拉菜单占据菜单全宽?

javascript - Highcharts 工具提示格式化程序返回函数抛出 Uncaught TypeError : j. 调用不是函数

javascript - 对JavaScript中的bind()函数进行一些解释

php - 重新加载 php 图像(验证码)

javascript - 修复 socket.io 多人游戏中的延迟

javascript - 将 JSON 从 PHP 发送到 JS

jquery - 从一个级别的 2 列设置相似的 div

html - Bootstrap 可折叠按钮将品牌元素向下推