我有一个计算脚本,可以在页面加载时执行,也可以在窗口调整大小时执行。中间的代码完全相同;没有重复使用。
所以我想知道,不是,但是如何重新使用Javascript代码?
我尝试了一些东西,比如下一件,但那不起作用。
$(function reUse() {
alert('Either the page got resized or the page loaded!');
console.log('Either the page got resized or the page loaded!');
});
$(window).resize(function() {
reUse();
});
那么格式化的正确方法应该是什么?
答案 0 :(得分:2)
你应该将函数放在闭包之外。您现在将该函数添加为jQuery对象。要走的路是:
var reUse = function() {
alert('Either the page got resized or the page loaded!');
console.log('Either the page got resized or the page loaded!');
};
$(window).resize(function() {
reUse();
});
并且你想把它全部包装在一个闭包中:
jQuery(document).ready(function($) {
// the code above
});
答案 1 :(得分:2)
您缺少一些括号等,您只能触发事件处理程序
$(function() {
function reUse() {
alert('Either the page got resized or the page loaded!');
console.log('Either the page got resized or the page loaded!');
}
$(window).on('resize', reUse).trigger('resize');
});
答案 2 :(得分:1)
像这样写
function reUse() {
alert('Either the page got resized or the page loaded!');
console.log('Either the page got resized or the page loaded!');
}
$(window).resize(reUse);
答案 3 :(得分:1)
尝试在您的范围内将其设为全局:
var reUse;
$(reUse = function reUse() {
alert('Either the page got resized or the page loaded!');
console.log('Either the page got resized or the page loaded!');
});
$(window).resize(function() {
reUse();
});
或第二次使用,如果您没有任何特殊参数传递给您的功能:
$(window).resize(reUse);