我正在使用滚动功能,最近添加了一个刷新
(因为我有一个邮件表格,这是让
?resp=0/
东西离开的最简单方法。是的,我知道还有其他方法,但这个是最适合我使用的方式,所以请不要建议其他方法来做这个过程)
有时候,当我刷新页面时,它不会注意到它的位置。我的内容从display:none
开始,但当它位于页面上的某个位置时,它是display:block
。当我滚动页面时会突然更新(如图像显示导致他们获得display:block
,并且网址从index.php#this
更改为index.php#that
)。如果它在刷新时立即改变,我想它,所以它不需要先滚动。
大多数时候它工作正常,但有时它会像那样,我不知道问题是什么。
以下代码:
$(function () {
$(window).bind('scroll', function () {
if ($(window).scrollTop() > ($(document).height() / 4.65) * 3) {
$('.Attribute').removeClass('that').addClass('this'); (etc..)
if (performance.navigation.type == 1) {
window.location.replace("index.php#this");
}
}
else if ($(window).scrollTop() > ($(document).height() / 4.65) * 1.3) {
$('.Attribute').removeClass('that').addClass('this'); (etc..)
if (performance.navigation.type == 1) {
window.location.replace("index.php#that");
}
}
else if ($(window).scrollTop() > $(document).height() / 4.65 * 0.3) {
$('.Attribute').removeClass('that').addClass('this'); (etc..)
if (performance.navigation.type == 1) {
window.location.replace("index.php#things");
}
}
else if ($(window).scrollTop() < $(document).height() / 4.65 * 0.3){
$('.Attribute').removeClass('that').addClass('this'); (etc..)
if (performance.navigation.type == 1) {
window.location.replace("index.php#something");
}
}
});
});
答案 0 :(得分:1)
你可以考虑做:
$(window).bind('scroll', function () {
else if ($(window).scrollTop() > ($(document).height() / 4.65) * 3) {
$('.Attribute').removeClass('that').addClass('this'); (etc..)
if (performance.navigation.type == 1) {
window.location.replace("index.php#this");
}
}
else if ($(window).scrollTop() > ($(document).height() / 4.65) * 1.3) {
$('.Attribute').removeClass('that').addClass('this'); (etc..)
if (performance.navigation.type == 1) {
window.location.replace("index.php#that");
}
}
else if ($(window).scrollTop() > $(document).height() / 4.65 * 0.3) {
$('.Attribute').removeClass('that').addClass('this'); (etc..)
if (performance.navigation.type == 1) {
window.location.replace("index.php#things");
}
}
else if ($(window).scrollTop() < $(document).height() / 4.65 * 0.3){
$('.Attribute').removeClass('that').addClass('this'); (etc..)
if (performance.navigation.type == 1) {
window.location.replace("index.php#something");
}
}
}).scroll()
添加.scroll()
会调用事件
或者你可以把事件放在一个函数中并调用它:
function onScroll () {
else if ($(window).scrollTop() > ($(document).height() / 4.65) * 3) {
$('.Attribute').removeClass('that').addClass('this'); (etc..)
if (performance.navigation.type == 1) {
window.location.replace("index.php#this");
}
}
else if ($(window).scrollTop() > ($(document).height() / 4.65) * 1.3) {
$('.Attribute').removeClass('that').addClass('this'); (etc..)
if (performance.navigation.type == 1) {
window.location.replace("index.php#that");
}
}
else if ($(window).scrollTop() > $(document).height() / 4.65 * 0.3) {
$('.Attribute').removeClass('that').addClass('this'); (etc..)
if (performance.navigation.type == 1) {
window.location.replace("index.php#things");
}
}
else if ($(window).scrollTop() < $(document).height() / 4.65 * 0.3){
$('.Attribute').removeClass('that').addClass('this'); (etc..)
if (performance.navigation.type == 1) {
window.location.replace("index.php#something");
}
}
}
$(window).bind('scroll', onScroll);
onScroll();
PS:第一个if
是否是正常的,这是正常的吗?
答案 1 :(得分:1)
你可以试试这个
$(window).on("load scroll",function(e) {