2011-08-16 10 views
1

質問はちょっと混乱するかもしれません。フェードインラインdivは位置を変えずにイン/アウトできますか?

私はインラインdivを持ち、最初のものは閉じる/削除ボタンを意味します。私はホバー上のクローズボタンをフェードインしようとしていますが、残りのdivの動きがぼんやりとして左に移動しています。

どのようにこれを防止しますか?ここで

はフィドルです:「いくつかのテキストをここに」 の上http://jsfiddle.net/x2SEv/

ホバー

答えて

3

jQueryの機能.show().hide()は、CSS属性displayを使用しています。

属性表示をnoneに設定すると、非表示のHTML要素で埋められた空白が削除されます。つまり、2番目のdivが左に移動します。

CSS属性visibilityを使用する必要があります。 displayと同じことをしますが、HTMLで埋め尽くされたスペースを維持します。

はのは、試してみましょう:あなたのJSで

$(".todo").mouseover(function() { 
     $('.closebtn').css("visibility", "visible"); 
    }); 
    $(".todo").mouseout(function() { 
     $('.closebtn').css("visibility", "hidden"); 
    }); 

そして、あなたのCSS:

.closebtn, .actions{visibility:hidden;} 
+0

ああ、私は関数.show()と理解しました。 hide()...ありがとう。変更するコードがたくさんあるので、私は絶対的な位置に設定します – jQuerybeast

3
あなたは絶対にあなたが退色している​​要素を配置し、中にあなたのテキストを移動する必要があります

ビット:http://jsfiddle.net/x2SEv/1/

.parent { 
    position: relative; 
    padding-left: 40px; 
} 
.div-to-fade { 
    display:none; 
    position: absolute; 
    left:0; top:0; 
} 
+1

私はこのケースでは絶対位置を使用してお勧めしません。あなたが最もよく使われるすべてのブラウザ、ブラウザのサイズ変更、またはズームレベルの変更と互換性のあるアプリケーションを望むならば、絶対的なHTML要素は維持するのが難しいので、 – Elorfin

関連する問題