0

ビューポートをあるリンクから別のリンクにスライドさせるJavaScriptコードを作成しました。基本的にすべてが正常に機能します。http : //jsfiddle.net/DruwJ/8/

今の私の問題は、リンクが表示されたときにビューポートのスライドを停止したいということです

<input id="bottom" type="button" value="Midlle" onclick="smoothScrollTo(0, 500)">  

ビューポートの上部ではなく下部にあります。

誰かが解決策を知っていることを願っています!(JavaScriptの初心者です)

ありがとう!

4

1 に答える 1

1

jQueryなしでできる最善のことは次のとおりです。

onclick="smoothScrollTo(document.getElementById('bottom').offsetTop + 30 - window.innerHeight)"

ボタンの下部をページの下部に揃えたいと思います。また、ボタンの上部がページの下部に揃えられていません。

ここで重要なのは、window.innerHeightを減算して、ボタンを下部に配置することです。ボタンの高さの概算として30を追加しています。残念ながら、私はjQueryの助けなしにボタンの高さを取得する方法に精通していません。プロジェクトでjQueryを使用して、すべてのDOM操作をより安定して使いやすくすることをお勧めします。

または、ボタンのすぐ下にダミーのdiv / elementを追加して、システムにスクロールさせることもできます。

onclick="smoothScrollTo(document.getElementById('dummy').offsetTop - window.innerHeight)"

参照: http: //jsfiddle.net/DruwJ/10/

于 2013-02-16T16:19:59.703 に答える