我制作了一个jquery脚本,它依赖于视口宽度和视口高度的变量。
这是包含viewportwidth
和viewportheight
变量的脚本,存储在自己的文档中:
var viewportwidth,viewportheight;"undefined"!=typeof window.innerWidth?(viewportwidth=window.innerWidth,viewportheight=window.innerHeight):"undefined"!=typeof document.documentElement&&"undefined"!=typeof document.documentElement.clientWidth&&0!=document.documentElement.clientWidth?(viewportwidth=document.documentElement.clientWidth,viewportheight=document.documentElement.clientHeight):(viewportwidth=document.getElementsByTagName("body")[0].clientWidth,viewportheight=document.getElementsByTagName("body")[0].clientHeight);
这是脚本:
function kjør() {
if ((viewportwidth / viewportheight) >= 1.33) {
$('#redline').appendTo('body');
$('#sitewrap').on('scroll', function(e) {
if ($(this).scrollTop() > (viewportheight / 100 * 40)) {
$('body').addClass('fix');
$('#headerwrap').appendTo('body');
} else {
$('body').removeClass('fix');
$('#headerwrap').appendTo('header');
}
$("#logo-top").css("opacity", 1 - $(this).scrollTop() / (viewportheight / 100 * 30));
});
} else {
$('#headerwrap').appendTo('body');
$('#redline').prependTo('#headerwrap');
$('body').removeClass('fix');
};
};
$(function() {
kjør();
$(window).resize(kjør());
});
你可以在底部。我尝试过这样做,以便在window
调整大小后更新脚本。然而,这不起作用。该脚本仍将使用在pageload上建立的viewportwidth
和viewportheight
。
如何让脚本在窗口大小调整时重新评估视口高度和视口宽度?
答案 0 :(得分:2)
你的问题是下面的一行:
$(window).resize(kjør());
将其更改为:
$(window).resize(kjør);
当你使用sintax function_name()
时,你引用的是函数的返回值,而不是函数本身。