良い一日
3つのdivを表示/非表示にする3つのトグルボタンがあります:
問題: いずれかのボタンをクリックすると、ページが上にスクロールしますが、一番上まではスクロールしません...切り替えられたコンテンツからユーザーの注意をそらしてしまうため、非常に煩わしいです...
ブックマークを指定したので、 href="#" ではないと思います...
最後の 2 つの div には同じ量のコンテンツがありますが、最初の div には少し少ないことに注意してください...
ボタンをクリックするたびにビューポートが上に移動するのはなぜですか? それを修正する最良の方法は何ですか?
<div id="featuredToggle">
<ul>
<li><a class="latestClick clickedStyle" href="#latestInner">Latest</a></li>
<li><a class="make" href="#make">Make</a></li>
<li><a class="models" href="#models">Models</a></li>
</ul>
</div>
<div id="latestInner">
content here
</div>
<div id="make">
content
</div>
<div id="models">
content
</div>
JS:
$(document).ready(function() {
$('#make').hide(50);
$('#models').hide(50);
$('#featuredToggle ul li a').click(function (e) {
e.preventDefault();
if ($(this).hasClass('latestClick')) {
$('#featuredToggle ul li a.make').removeClass('clickedStyle');
$('#featuredToggle ul li a.models').removeClass('clickedStyle');
$(this).addClass('clickedStyle');
$('#make').hide(200);
$('#models').hide(200);
$('#latestInner').show(500);
} else if ($(this).hasClass('make')) {
$('#featuredToggle ul li a.latestClick').removeClass('clickedStyle');
$('#featuredToggle ul li a.models').removeClass('clickedStyle');
$(this).addClass('clickedStyle');
$('#latestInner').hide(200);
$('#models').hide(200);
$('#make').show(500);
} else if ($(this).hasClass('models')) {
$('#featuredToggle ul li a.latestClick').removeClass('clickedStyle');
$('#featuredToggle ul li a.make').removeClass('clickedStyle');
$(this).addClass('clickedStyle');
$('#latestInner').hide(200);
$('#make').hide(200);
$('#models').show(500);
}
});
});
ありがとうございました!