我有3個切換按鈕,顯示/隱藏3周的div:
問題:每當我點擊按鈕的任何,頁面滾動起來,但不是頂端...這是非常惱人的,因爲它指導用戶的焦點遠離切換的內容...
我不認爲這是href =「#」,因爲我確實指定了書籤他們...
請注意,最後兩個div有相同數量的內容,但第一個e有點少...
爲什麼每次點擊按鈕時視口都會向上移動? 修復它的最佳方法是什麼?
<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);
}
});
});
謝謝!
它可能是因爲頁面大小正在減少,因爲這些元素的損失。嘗試將body和html的CSS設置爲:'min-hieght:100%; height:100%; max-height:100%;'。走着瞧吧。 – sourRaspberri 2013-03-20 13:16:52
我雖然如此,但我雖然也許有一個解決方案/技巧,我不知道...我會嘗試看看會發生什麼 – DextrousDave 2013-03-20 13:20:30
可以做'.css({'opacity':'0'})'那個技術上仍然存在的元素的方式並不會改變身體的高度等僅作爲測試。不是解決方案。 – sourRaspberri 2013-03-20 13:22:07