1

ページでスムーズなスクロールを作成しましたが、ページの最後のアンカーまでスクロールすると、最後の div のコンテンツがページ全体を埋めるのに十分ではなく、素敵なイージングがなくなったため、スクロールが根本的に下に突き当たります。 .

関数はアンカーをページの上部に配置しようとしますが、div が短すぎます。

これを防ぐ方法はありますか?底にぶつからないように関数に指示する方法はありますか?

よろしくお願いします!

http://jsfiddle.net/5FwcT/4/

$('.submenu a').bind('click',function(event){
var $anchor = $(this);

$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top-1}, 1000,'easeInOutExpo');

event.preventDefault();


});

例:

ここに画像の説明を入力

4

2 に答える 2

1

次のようなことを試すことができます:

実施例

$(function () {
    $('.submenu a').bind('click', function (event) { 
        var $anchor = $(this);
        if ($anchor.attr('href') != "#webservers") { // if href does not = #webservers
            $('html, body').animate({ // animate as usual 
                scrollTop: $($anchor.attr('href')).offset().top - 1
            }, 3000, 'easeInOutExpo');
        }
        if ($anchor.attr('href') == "#webservers") { // if href does = #webservers
            $('html, body').animate({
                scrollTop: $('body').height() - $(window).height() // animate to the body's height minus the window's height, basically the bottom of the page less the height of the window.
            }, 3000, 'easeInOutExpo');
        }
        event.preventDefault();
    });
});
于 2013-08-31T14:26:19.983 に答える