問題があります。私はスクロールaniamtionで選択された要素にスクロールするjavascript関数を持っています。 これはうまくいきますが、問題は私が上にスライド/スライドダウン(表示非表示)するときです。スクロールを#hashにアニメートし、ページ上に要素が隠されているようにします
クリックした場合のリンクは、.show
です。セクションを表示しています。リンクにこのクラスがない場合は、.slideUp
関数を使用してこの要素を非表示にします。そして、これはバグを生み出し、裏地は正確ではありません(間違った場所への嫌がらせ)。 javascriptは隠れ要素の高さを考慮に入れて、間違ったものを計算するようです。私はこれをどのように修正するのか分かりません。 ありがとうございます。
var $root = $('html, body');
$(document).on('click','.scroll-ani', function(event){
if ($(this).hasClass('show')) {
if ($('#about').is(':hidden')) {
$('#about').slideDown();
}
} else {
// if i replace slideUp with .hide() it will work well, but will not animate this slideUp effect.
$('#about').slideUp();
}
var hash = this.hash;
if (hash && this.href.slice(0, -hash.length-1) == location.href.slice(0, -location.hash.length-1)) {
$root.animate({
scrollTop: $(hash).offset().top
}, 'normal', function() {
location.hash = hash;
});
return false;
}
});