ボタンをクリックすると、特定のクラスを持つ特定の要素にスクロールするjqueryスクリプトがあります。
ボタン「次へ」をクリックすると、長いテキスト内にあるクラス「ハイライト」の最初の要素にスクロールするようにしました。
私の真の必要性は、そのスクリプトをセットアップまたはアップグレードして、「前へ」ボタンと「次へ」ボタンをクリックしたときに同じクラスの要素から要素へとナビゲートできるようにすることです。これまでのところ、指定されたクラスと、次のボタンのみが機能する前のボタンと次のボタンを持つ最初の要素にのみスクロールするこのスクリプトがあります。
こんなに簡単なスクリプトで、そんなことができるのだろうか?または、他のプラグインを使用する必要があります。
これが今までの私の状況 ですFiddle。
html には多くのテキストがあり、jsfiddle のリンクで表示できます... ここでは "..." に置き換えます。
<div class="navigation">
<a href="#" id="prev">Previous</a>
<br>
<a href="#" id="next">Next</a>
</div>
<div class="demo-container">
<p>
...
<span class="highlight">ipsum</span>
...
<span class="highlight">Duis</span>
...
<span class="highlight">convallis</span>
...
<span class="highlight">blandit</span>
...
<span class="highlight">Sed</span>
....
</p>
</div>
脚本:
/** scroll to element function **/
function scrollToElement(selector, time, verticalOffset) {
time = typeof (time) != 'undefined' ? time : 500;
verticalOffset = typeof (verticalOffset) != 'undefined' ? verticalOffset : 0;
element = $(selector);
offset = element.offset();
offsetTop = offset.top + verticalOffset;
$('html, body').animate({
scrollTop: offsetTop
}, time);
}
/**document ready**/
$(document).ready(function () {
/* scroll to -150px before .highlight with animation time of 1000ms */
$('#next').click(function (e) {
e.preventDefault();
scrollToElement('.highlight', 1000, -150);
});
});
CSS:
.highlight{
background-color:red;
}
.navigation{
position:fixed;
background: #FFFFFF;
padding:5px;
border: 1px solid;
}
私のjsfiddleを自由に編集できます。
どんな助けでも大歓迎です!