簡體   English   中英

上下滾動不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM