2016-09-08 8 views
0

jQueryを使用して非表示の(display:none)divブロックを右から左にスライドしたいとします。ユーザーがこのブロックを移動すると表示されます。ここでは、コードです:アニメーションの幅をjQueryの右から左に切り替える

$('.wrapper').hover(function() { 
    $(this).children('.item').stop(true, true).animate({width:'toggle'}, 400); 
}); 

このコードは正常に動作しますが、それは左から右にスライドし、私はそれが右から左にスライドします。それをどうやって逆転できますか?

+0

あなたはそれが 'display'が' NONE'ている間 'hover'イベントを起動する方法:

はここでこれを示しスニペットですか? – Mohammad

+0

@モハマド私は '.item'に' display:none'があり、 '.wrapper'が見えると推論します。 – ollpu

答えて

1

要素のアニメーションが変更され、通常の方法で配置されている場合、左側に収縮します(このように考える:50%widthを取得した場合、ブロックはどこに終了しますか?) 。 divを別の方法、たとえばfloat: right;で配置することができます。この場合、右側に縮小されます。

window.toggle = function() { 
 
\t jQuery(".toggledOne, .toggledAnother").stop(true, true).animate({width:'toggle'}, 400); 
 
}
.wrapper, 
 
.toggledOne, 
 
.toggledAnother { 
 
    width: 100%; 
 
} 
 

 
.wrapper { 
 
    height: 2em; 
 
} 
 
.toggledOne, 
 
.toggledAnother { 
 
    height: 1em; 
 
} 
 
.toggledOne { 
 
    background-color: red; 
 
} 
 

 
.toggledAnother { 
 
    float: right; 
 
    background-color: green; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<a onclick="window.toggle();">click me</a> 
 
<div class="wrapper"> 
 
    <div class="toggledOne"></div> 
 
    <div class="toggledAnother"></div> 
 
</div>

+0

ご返信遅れて申し訳ありません。あなたの答えをありがとう! –

関連する問題