javascript $(window).scrollTop() 在 safari 中不起作用
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/25075117/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
$(window).scrollTop() is not working in safari
提问by Thomas Sebastian
It works fine on firefox and chrome,but safari seem to have some issue.Here is the code.
它在 Firefox 和 chrome 上运行良好,但 safari 似乎有一些问题。这是代码。
function founders() {
var scrollPos = $(window).scrollTop();
if (scrollPos == 900) {
$(function() {
$(".first_fall").fadeIn(1000);
$(".second_fall").fadeIn(2000);
$(".third_fall").fadeIn(3000);
});
};
}
And this is how I have called it
我就是这样称呼它的
$(document).ready(function(e) {
$(window).bind('scroll', function() {
founders();
});
});
The very same function works well on safari and chrome on a different page.Here is the code
相同的功能在不同页面上的 safari 和 chrome 上运行良好。这是代码
$(function() {
$(window).bind('scroll', function() {
zoomed();
});
}());
function zoomed() {
var scrollPos = $(window).scrollTop();
if (scrollPos >= 500 && scrollPos <= 800) {
$(function() {
$('#icon_you').animate({
opacity: 0
});
$('.about_head').animate({
opacity: 1
});
});
} else {
$(function() {
$('.about_head').animate({
opacity: 0
});
$('#icon_you').animate({
opacity: 1
});
});
};
if (scrollPos >= 1100 && scrollPos <= 1500) {
$(function() {
$('.about_company_head').animate({
opacity: 1
});
$('#icon_company').animate({
opacity: 0
});
});
} else {
(function() {
$('.about_company_head').animate({
opacity: 0
});
$('#icon_company').animate({
opacity: 1
});
});
};
if (scrollPos >= 1700 && scrollPos <= 2200) {
$(function() {
$('.about_project_head').animate({
opacity: 1
});
$('#icon_project').animate({
opacity: 0
});
});
} else {
$(function() {
$('.about_project_head').animate({
opacity: 0
});
$('#icon_project').animate({
opacity: 1
});
});
};
if (scrollPos >= 2700 && scrollPos < 3200) {
$(function() {
$('.about_practical_head').animate({
opacity: 1
});
$('#icon_practical').animate({
opacity: 0
});
});
} else {
$(function() {
$('.about_practical_head').animate({
opacity: 0
});
$('#icon_practical').animate({
opacity: 1
});
})
};
}
采纳答案by DevDonkey
try
尝试
var scrollPos = $("body").scrollTop();
var scrollPos = $("body").scrollTop();
webkit browsers always render window/html scrollTop as zero.
webkit 浏览器总是将 window/html scrollTop 渲染为零。