【问题标题】:How can pass Jquery global variable to arguments in a function?如何将 Jquery 全局变量传递给函数中的参数?
【发布时间】:2015-10-15 20:28:22
【问题描述】:

我想在窗口调整大小时更改表格宽度,因为我需要将全局变量作为参数传递给函数,但是当我传递变量时它不起作用并且不能在方法中使用变量,我该如何解决那个,谢谢你的帮助。

var WOS = document.body.parentNode.clientWidth; 
var HOS = document.body.parentNode.clientHeight;
$(window).resize(function(){    
   tableSetup(WOS, HOS);
}

function tableSetup(WOS, HOS) {
   alert(WOS); // give undefined message 
}

【问题讨论】:

  • 谁在打电话tableSetup
  • 对不起,我在这里写脚本有误,我更正了
  • 仍然缺少关闭 ) for resize 事件处理程序,即 $(window).resize(function(){ tableSetup(WOS, HOS); });
  • 这段代码在你的页面中执行在哪里?在<head> 部分?还是其他地方?

标签: jquery variables resize global-variables argument-passing


【解决方案1】:

由于您想在调整大小时获取更新的值,因此您需要在调整大小事件中计算这些值

var WOS = document.body.parentNode.clientWidth;
var HOS = document.body.parentNode.clientHeight;
$(window).resize(function() {
  WOS = document.body.parentNode.clientWidth;
  HOS = document.body.parentNode.clientHeight;
  tableSetup(WOS, HOS);
})

function tableSetup(WOS, HOS) {
  snippet.log(WOS); // give undefined message 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

演示:Fiddle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    相关资源
    最近更新 更多