0

マウスオーバー時の画像の高さと幅を設定するためにこのコードを使用しています

$('#gallery').find("img").attr('height', '20px');
$('#gallery').find("img").attr('width','20px');

//ここで、デフォルトの高さと幅は上記のjavascriptによって変更されます

マウスアウトするときに、マウスオーバーによって設定された画像の高さと幅を削除する方法

4

5 に答える 5

3

使用hover():

$('#gallery').hover(
    function(){
        // mouseover
        $(this).find("img").attr({'height':'20px', 'width':'20px'});
    },
    function(){
        // mouseout
        $(this).find('img').removeAttr('height').removeAttr('width');
        /* as of jQuery 1.7, it's possible to remove multiple attributes at once:
           $(this).removeAttr('height width'); */
    });

JS フィドルのデモ

を使用した JS Fiddle デモ.removeAttr('height width')

参考文献:

于 2012-04-19T13:05:29.873 に答える
1

デフォルトに戻す代わりに以前の値を復元するには、次のようにします。

$("#gallery").mouseenter(function() {
   var gallery = this;

   $("img", this).each(function() {
      var prev = {
        "width": $(this).attr("width"),
        "height": $(this).attr("height")
      };

      var img = this;

      $(gallery).one("mouseleave", function() {
        $(img).attr(prev);
      });
   }).attr({'height':'20px', 'width':'20px'});
});

これにより、他の画像と競合することなく、画像ごとに古い値が安全に保存されます。(各画像の最初のサイズが異なる場合でも.

http://jsfiddle.net/4bEfs/

于 2012-04-19T13:10:33.537 に答える
0

マウスアウトで試してみてください $('#gallery').find("img").attr('height', 'auto'); $('#gallery').find("img").attr('width','auto');

于 2012-04-19T13:07:28.600 に答える
0

属性を操作する場合は、 http ://api.jquery.com/hover/とhttp://api.jquery.com/removeAttr/を組み合わせて使用​​できます。

より柔軟な解決策は、http://api.jquery.com/css/を使用して css を操作することです。これにより、複数の値を同時に変更できます。

于 2012-04-19T13:08:05.783 に答える
0

これを試してください:マウスオーバーで幅と高さを保存し、後でそれらを復元します。

    var storeddimensions;    
    $('#gallery').hover( 
        function() {
            storeddimensions = new Array($(this).find("img").height(), $(this).find("img").width());
            $(this).find("img").attr({'height':'20px', 'width':'20px'}); 
        }, 
        function() { 
            $(this).find("img").attr({'height':storeddimensions[0] + 'px', 'width':storeddimensions [1] + 'px'}); 
        }
    );
于 2012-04-19T13:09:32.937 に答える