誰かが私を助けてくれることを願っています、私はこのサイトに実装しようとしているこのスクロール動作に関する他の問題を解決しているので、この問題について少しイライラしています...私のサブメニューを見ると(左側)は、スクロールするときにウィンドウの位置に従います。または、サブメニューの任意のオプションをクリックすると、アニメーションがトリガーされます。問題のように思われるのは、2回クリックするたびに、それが機能しないことです。もう一度クリックすると、機能します...
これが私のコードです
変数
var startDistance = 210;
var $scrollingDiv = $("#sub-menu");
var position = $("#footer").position();
var height = $("#sub-menu").height();
var pos = position.top - (height + 460);
これは、ユーザーとアニメーションスクロールで異なります
$("body,html").bind("scroll mousedown DOMMouseScroll mousewheel keyup", function(e){
if ( e.which > 0 || e.type === "mousedown" || e.type === "mousewheel"){
if($(window).scrollTop() > startDistance && $(window).scrollTop() < pos) {
$scrollingDiv.stop().animate({
paddingTop: ($(window).scrollTop() - 75) + "px"
}, 'slow');
}
if($(window).scrollTop() == 0) {
$scrollingDiv.stop().animate({
paddingTop: 0
}, 'slow');
}
}
});
クリック動作
$("#sub-menu ul li a").live('click', function(ev) {
var $anchor = $(this);
console.log($anchor.attr('href'));
$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top
}, 1500,'easeInOutExpo', function() {
$scrollingDiv.stop().animate({
paddingTop: ($($anchor.attr('href')).offset().top - 556) + "px"
}, 'slow');
});
event.preventDefault();
});
それは最も愚かなことかもしれませんが、私は何が起こっているのかを理解することができずに、最後の1時間画面を見てきました。
編集:スクロールコードの動作も投稿しています。これは、クリックコードだけでなく、グローバルな問題である可能性があるためです。
前もって感謝します!