在加载和调整大小时,将javascript函数的结果调用到Jquery css事件中
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在加载和调整大小时,将javascript函数的结果调用到Jquery css事件中,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2551字,纯文字阅读大概需要4分钟。
内容图文
![在加载和调整大小时,将javascript函数的结果调用到Jquery css事件中](/upload/InfoBanner/zyjiaocheng/773/b700580fc6f44498893ea67d1a16df0c.jpg)
我想将logoSocialHeight()函数的结果调用到$(‘header.main’).css(‘top’,logoSocialHeight()).hover(
它只应在窗口加载或视口大小调整时触发.我尝试在1600px以下的屏幕分辨率下调用所有内容.但是logoSocialHeight()仅在我第一次加载超过1600px分辨率的网页时才有效,而不是将其缩小到1600px以下,它将被触发,否则不会.
是否有一个jquery方式的window.addEventListeners,就像$(window).on(‘load resize’?
function logoSocialHeight() {
var logoHeight = $('header.main .logo').outerHeight(true);
var socialHeight = $('header.main .social-links').outerHeight(true);
var sum = -Math.abs(logoHeight + socialHeight - 10);
console.log(sum);
return sum;
};
window.addEventListener('load', logoSocialHeight, false);
window.addEventListener('resize', logoSocialHeight, false);
function bindNavUp() {
var lastScrollTop = 0, delta = 5;
$(window).on('scroll', function() {
var st = $(this).scrollTop();
if(Math.abs(lastScrollTop - st) <= delta) {
return;
};
if (st > lastScrollTop) {
// downscroll code
$('header.main').css('top',logoSocialHeight()).hover(
function() {
$('header.main').css('top','0');
}
);
}
else {
// upscroll code
$('header.main').css('top','0');
};
lastScrollTop = st;
});
};
function unbindNavUp() {
$(window).unbind('scroll');
};
function handleNavUp() {
if ($(window).width() < 1600) {
bindNavUp();
}
else {
unbindNavUp();
};
};
$(document).ready(function() {
var timer;
$(window).on('load resize scroll', function() {
clearTimeout(timer);
timer = setTimeout(function() {
handleNavUp();
}, 100);
});
handleNavUp();
});
更新:
工作简化的代码:
function logoSocialHeight() {
var logoHeight = $('header.main .logo').outerHeight(true);
var socialHeight = $('header.main .social-links').outerHeight(true);
var sum = -Math.abs(logoHeight + socialHeight - 10);
//console.log(sum);
return sum;
};
function bindNavUp() {
var lastScrollTop = 0, delta = 5;
$(window).on('scroll', function() {
var st = $(this).scrollTop();
if(Math.abs(lastScrollTop - st) <= delta) {
return;
};
if (st > lastScrollTop) {
// downscroll code
$('header.main').css('top',logoSocialHeight()).hover(
function() {
$('header.main').css('top','0');
}
);
}
else {
// upscroll code
$('header.main').css('top','0');
};
lastScrollTop = st;
});
};
function unbindNavUp() {
$(window).unbind('scroll');
};
$(window).on('load resize', function() {
if ($(this).width() < 1600) {
bindNavUp();
}
else {
unbindNavUp();
};
});
解决方法:
我会评论,但遗憾的是< 50代表所以我不被允许并被迫写在这里.我不确定这是否会对你有所帮助,因为我对JQuery不太熟悉,但是当你在普通的JavaScript中添加事件监听器时,你不能在注册时使用括号“()”.您只需要命名该功能.
$('header.main').css('top',logoSocialHeight).hover(
内容总结
以上是互联网集市为您收集整理的在加载和调整大小时,将javascript函数的结果调用到Jquery css事件中全部内容,希望文章能够帮你解决在加载和调整大小时,将javascript函数的结果调用到Jquery css事件中所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。