リンクをクリックすると、div間で前後にバウンスするスライダーがあります。それはあなたがoverflow: hidden
を追加するまですべての方法で動作し、それからすべてが壊れます!オーバーフロー:隠しブレークjQueryスライダー
私は誰でも見るためにdemoを作成しました。あなたはそれが動作することに気づくでしょうが、.clickWrapper
divにoverflow: hidden
を追加して、divsがスライドインするのを隠すようにしてください。あなたが望むものをクリックすると、他のdivをスクロールします。
$(function() {
$(".clickIt a").click(function() {
var linked = $(this).attr("href");
var pos = $(linked).position();
$(".clickSlider").stop().animate({
left: -pos.left,
}, 500);
});
});
<div id="wrapper">
<div class="clickIt">
<a href="#one">one</a>
<a href="#two">two</a>
<a href="#three">three</a>
</div>
<div class="clickWrapper">
<div class="clickSlider">
<div id="one">one</div>
<div id="two">two</div>
<div id="three">three</div>
</div>
</div>
</div>
#wrapper {margin: 0 auto; width: 200px; }
.clickWrapper {background:red; position:relative; overflow:hidden; background-color: #CCC; height: 200px; }
.clickSlider { position: relative; width: 600px; }
#one, #two, #three { float: left; width: 200px; }
もちろん!偽を返す!それはとても明らかでした。ありがとうございました! – Sethen
ハッシュがコードをどのように壊すか、そしてオーバーフローが隠されていないときになぜ機能するのかについての説明を含めることができます。 – Sparky
+1私は新しいことを学んだが、なぜハッシュを変更する必要があるのだろうか? –