私は現時点で自分のポートフォリオに取り組んでいます。私はScrollTo jQueryプラグインを使用して、訪問者がページをナビゲートできるようにしています。私はそれがすべて動作しているが、私はまた、前の次のページのように、あるページから別のページにスクロールできるリンクを実装したいと思っていました。ScrollTo()を使用したページナビゲーションが正しいページに表示されないのはなぜですか? (jQuery)
私はそれも動作していますが、どういうわけか間違ったページに間違ったリンクが表示されます。 例:ページ2にはページ1のリンクがあり、ページ3にはページ2のリンクがあります。 そして、そのリンクを再度クリックすると、リンクが正しいものに変わります。
あなたはここでそれをチェックアウトすることができます:http://machimedia.nl/portfolio/
は、これは私が使用する関数です:
function reloadPageNav(){
var section1Top = 0;
// The top of each section is offset by half the distance to the previous section.
var section2Top = $('#portfolio').offset().left - (($('#aboutme').offset().left - $('#portfolio').offset().left)/2);
var section3Top = $('#aboutme').offset().left - (($(document).width() - $('#aboutme').offset().left)/2);;
if($(document).scrollTop() >= section1Top && $(document).scrollTop() < section2Top){
$('nav#homenav').delay(1000).fadeIn(800);
} else if ($(document).scrollTop() >= section2Top && $(document).scrollTop() < section3Top){
$('nav#portfolionav').delay(1000).fadeIn(800);
} else if ($(document).scrollTop() >= section3Top){
$('nav#aboutmenav').delay(1000).fadeIn(800);
} }
そしてa.linkがクリックされたときにリンクがpagenavをクリックされるたびになるよう、それが呼び出され、再描画されます。私はこれに以下の関数を使用しました。
$('a.link').click(function() {
$('#wrapper').scrollTo($(this).attr('href'), 1500);
//setPosition($(this).attr('href'), '#cloud1', '0px', '400px', '800px', '1200px')
//setPosition($(this).attr('href'), '#cloud2', '0px', '800px', '1600px', '2400px')
$('a.link').removeClass('selected');
$(this).addClass('selected');
$('nav.next').fadeOut(500);
$('nav.prev').fadeOut(500);
reloadPageNav();
homeNav();
return false;
});
この問題を解決して、私のために助けてくれることを願ってください。 ご協力いただきありがとうございます;)
ここで、nav.nextとnav.prevのhrefをリセットしますか?私はそれを見つけることができないのですか?それはどこかで起こらなければならないだろうか?私は間違って見ていますか? – Trent
a.linkをクリックするとnav.prevとnav.nextフェードアウトが実行されます。 そして、scrolltoがページの特定の幅にあるとき、正しいメニューが読み込まれなければなりません。しかし、それは間違ったものをいくつか読み込む。 – user1351865