0

は本当に、本当に誰かがこれで私を助けてくれることを願っています!よろしくお願いします!:)

2つのページがあります...1つはindex.phpという名前で、もう1つはportfolio.phpという名前です。私のヘッダー(すべてのページで同じ)には、portfolio.phpページ(portfolio.php#blogg)にそれらを再構築するいくつかのアンカーが含まれています。

スムーズにスクロールするためのJavaScriptコードもあります(これはすべてのページで機能するはずです)が、別のページ、 portfolio.phpにいるときは、ヘッダーアンカーリンクでは機能しません。

たとえば、index.phpページで「 portfolio.php#blogg 」を押したときにjavascriptを機能させるにはどうすればよいですか?

これが私のJavaScriptです:

window.addEvent('domready',function() { new SmoothScroll({ duration: 800 }); });
4

2 に答える 2

0

ここではあまり情報を提供していませんが、それSmoothScrollはMooToolsのものだと思いますか?これを見てください:http://davidwalsh.name/mootools-onload-smoothscroll

window.addEvent(‘domready’, function() {
    new SmoothScroll({ duration:700 }, window);
    var el = window.location.hash.substring(1); // the hash
    if(el) {
        window.scrollTo(0,0);
        var scroll = new Fx.Scroll(
            window,
            { wait: false, duration: 700, transition: Fx.Transitions.Quad.easeInOut }
        );
        scroll.toElement(el);
    }
});
于 2010-11-23T13:45:35.397 に答える
0

うーん....問題は、私が正しく理解していれば、SmoothScrollオブジェクトが読み込まれる前に、ブラウザが別のページから到着したときにフラグメントアンカーの位置にジャンプすることです。最初に頭に浮かぶのは、セッションまたは Cookie を使用するソリューションです。

ユーザーがインデックス ページにいて、#bloggアンカーまでスクロールする必要があるポートフォリオへのリンクをクリックした場合: リンクの URL にハッシュタグ フラグメントを追加する代わりに、ページをスクロールする必要があることを示す Cookie を保存し、ポートフォリオページのトップ。

次に、ポートフォリオ ページdomreadyイベントで、SmoothScroll オブジェクトを読み込み、Cookie の存在を確認し、存在する#blogg場合はアンカーまでスクロールし、Cookie を削除します。

于 2010-11-23T13:41:32.810 に答える