Javascript:代码在投入功能时不会被执行
Javascript: Code doesn't get executed when put into function
我有这个工作Javascript代码,它可以对init
和resize
进行一些调整大小:
(function (w) {
w.init = function () {
var w = window.innerWidth;
var h = window.innerHeight;
//resize_font;
var fs = parseInt(w / 26);
document.body.style.fontSize = fs + "px";
//resize_cover;
var logo = get_by_id("logo");
var logo_height = logo.clientHeight;
var menu = get_by_id("menu");
var menu_height = menu.clientHeight;
var cover_height = logo_height + menu_height;
var distance_top = (h - cover_height) / 2.5;
var container = get_by_id("container");
container.style.paddingTop = distance_top + "px";
}
w.resize = function () {
var w = window.innerWidth;
var h = window.innerHeight;
//resize_font;
var fs = parseInt(w / 26);
document.body.style.fontSize = fs + "px";
//resize_cover;
var logo = get_by_id("logo");
var logo_height = logo.clientHeight;
var menu = get_by_id("menu");
var menu_height = menu.clientHeight;
var cover_height = logo_height + menu_height;
var distance_top = (h - cover_height) / 2.5;
var container = get_by_id("container");
container.style.paddingTop = distance_top + "px";
}
}
现在我想将用于调整字体和封面大小的代码重构为函数,但是我无法让它工作。我试过这个:
(function (w) {
w.init = function () {
var w = window.innerWidth;
var h = window.innerHeight;
resize_font;
resize_cover;
}
w.resize = function () {
var w = window.innerWidth;
var h = window.innerHeight;
resize_font;
resize_cover;
}
function resize_cover() {
var logo = get_by_id("logo");
var logo_height = logo.clientHeight;
var menu = get_by_id("menu");
var menu_height = menu.clientHeight;
var cover_height = logo_height + menu_height;
var distance_top = (h - cover_height) / 2.5;
var container = get_by_id("container");
container.style.paddingTop = distance_top + "px";
}
function resize_font() {
var fs = parseInt(w / 26);
document.body.style.fontSize = fs + "px";
}
}
控制台未显示任何错误,但不会调整大小。我做错了什么?
您需要在 init 中调用函数并调整事件函数的大小。你有:
resize_font;
resize_cover;
你需要:
resize_font();
resize_cover();
函数的名称只是对它的引用,这就是为什么你看不到任何错误的原因。您目前拥有的内容类似于说:
var x = 1;
x;
看起来你的问题是这样的:
resize_font;
resize_cover;
我想你的意思是
resize_font();
resize_cover();
好像你忘了执行函数,只是提到了指针。
请尝试更改:
resize_font;
resize_cover;
自
resize_font();
resize_cover();
相关文章:
- 我想用Javascript网站在开放的Chrome浏览器上执行功能
- 如果在编辑中下拉值发生变化,如何执行功能
- 在周一上午8点至晚上7点之间执行功能
- 如何在ng中继器运行中执行功能
- 具有onclick功能的自定义复选框在实际切换复选框之前执行功能
- 基于条件执行功能
- 如何让chrome扩展在页面加载的后台执行功能
- 并行执行功能并等待其完成
- 必须点击两次按钮才能执行功能
- 在可过滤的剑道移动搜索框中键入时执行功能
- 故意暂停执行功能
- 当用户导航到特定部分时执行功能(地理位置)
- 必须单击按钮两次才能执行功能 - jQuery
- 在使用 react 和 material-ui 动态创建菜单项时,为什么 onTouchStart 会自动执行功能
- 如何在jQuery中单击两个按钮之一时执行功能
- 鼠标事件触发但未执行功能
- 如何在jquery中空闲10秒后执行功能
- 在Facebook分享后执行功能
- 如果文本框有焦点,按下特定键时执行功能
- 选择随机选项并执行功能