[英]Scrolling top-bottom is not working
我在滾動時遇到問題, if
條件延遲一段時間后始終激活2個條件。 我不明白為什么。 這是我遇到問題的網站: www.fitfaza.pl-右下角的灰色錨點。
碼:
// hide #back-top first
jQuery("#back-top").hide();
jQuery("#back-top2").hide();
// fade in #back-top
jQuery(function() {
jQuery(window).scroll(function() {
if (jQuery(this).scrollTop() > 500) {
jQuery('#back-top').fadeIn();
jQuery('#back-top2').fadeIn();
} else {
jQuery('#back-top').fadeOut();
jQuery('#back-top2').fadeOut();
}
});
jQuery('#back-top a').click(function() {
jQuery('body,html').animate({
scrollTop: 0
}, 800);
return false;
});
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll <= 1089) {
jQuery('#back-top2 a').click(function() {
jQuery('body,html').animate({
scrollTop: 3390
}, 800);
return false;
});
$("html, body").bind("scroll mousedown DOMMouseScroll mousewheel keyup", function() {
$('html, body').stop();
});
};
if (scroll >= 3390) {
jQuery('#back-top2 a').click(function() {
jQuery('body,html').animate({
scrollTop: 1
}, 800);
return false;
});
$("html, body").bind("scroll mousedown DOMMouseScroll mousewheel keyup", function() {
$('html, body').stop();
});
};
});
});
這是一個經過優化的腳本,似乎起到了作用-盡管在不輕松消除當前活動腳本的情況下,我無法很好地測試站點上的實際響應。 因此,您可能必須對其進行測試並提供一些有關其功能的反饋。 無論如何,請嘗試替換為:
http://codepen.io/anon/pen/pvMmyJ?editors=001
$(function () {
var gate = $(window);
var root = $('html, body');
var backtop = $('#back-top2');
var scroll;
backtop.hide();
gate.scroll(function() {
scroll = gate.scrollTop();
if (scroll >= 500 && !backtop.is(':visible')) backtop.fadeIn();
if (scroll < 500 && backtop.is(':visible')) backtop.fadeOut();
});
backtop.click(function() {
if (scroll < 1090) root.animate({scrollTop: 3390}, 800);
if (scroll >= 3390) root.animate({scrollTop: 0}, 800);
});
root.on('scroll mousedown touchstart DOMMouseScroll mousewheel keyup', function() {
root.stop();
});
});
查看網站的頁面源,實際上並不需要錨定圖像周圍的<a>
標記。 而且似乎$
不是保留字符,因此不需要使用jQuery
作為對象。 緩存一些可重復使用的變量也可以優化腳本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.