2010-12-13 3 views
2

FF、ChromeとSafariで、次の作品:IEで画像の不透明度を変更するにはどうすればよいですか? - jQueryの、CSS

$('#delete_img').click(function(e) { 
      var offset = $(this).offset(); 
      $(this).parent().parent().fadeTo("slow", 0.30); 
      $(this).parents("li").children("img").css({ 'border' : '3px solid #f6f6f7' }); 
      e.stopPropagation(); 
}); 

しかし、IE8で(私も7でテストしていないですし、それ以前のバージョン)しません。

IE8でこの機能をどのように達成できますか?

編集:ここでは人気の要求によっては、HTMLである:

<div id="slider-code"> 
     <a class="buttons prev" href="#"></a> 
     <div class="viewport"> 
      <ul class="overview">   
       <li><img src="images/red-stripe.jpg" /></li> 
       <li><img src="images/red-stripe-bw.jpg" /></li> 
       <li><img src="images/red-stripe-red.jpg" /></li>    
       <li><img src="images/red-stripe-dark.jpg" /></li> 
       <li><img src="images/red-stripe.jpg" /></li> 
       <li><img src="images/red-stripe-red.jpg" /></li> 
       <li><img src="images/red-stripe-dark.jpg" /></li>   
      </ul>  
     </div> 
     <a class="buttons next" href="#"></a> 
    </div> 

    <div style="clear:both"></div> 

    <div id="edit-image-nav"> 
     <div id="add_comment"><img src="images/comment-icon.png" /></div> 
     <div id="like"><img src="images/paint-icon.png" /></div> 
     <div id="delete_img"><img src="images/delete-icon.png" /></div> 
    </div> 

た(あなたは「編集画像-NAV」のdiv内のいずれかのアイコンをクリックすると、何が起こることであることに注意してくださいonHover上のULの画像上にオーバーレイされる)、それは異なる機能を有する。他のアイコンについては、動作します。しかし、#delete_imgの場合はそうではありません。

+1

ID「delete_img」が繰り返されていますか? –

+0

コードのどこにいても繰り返されますか?それが原因だろうか?私はJSファイルを検索しましたが、それは繰り返されません。あなたのマークアップで – marcamillion

+0

私は、IDは一意でなければならないことを意味します。 –

答えて

1

あなたのコードのエラーのようですが、それは実際に動作しない場合は、これをしようとしません。


$('#delete_img').click(function(e) { 
      var offset = $(this).offset(); 
      $(this).parent().parent().parent().children("img").fadeTo("slow", 0.30, function() { 
        $(this).css('opacity', 0.3); 
      }); 
      $(this).parents("li").children("img").css({ 'border' : '3px solid #f6f6f7' }); 
      e.stopPropagation(); 
});

+0

いいえ...できません。 Btw、これが何か変わるかどうかはわかりませんが、画像の不透明度を変更しようとしています。 '$(this).parent()。parent()'はイメージです。 – marcamillion

+0

私はコードを編集したので、変わったようですが、これはうまくいくかもしれません... –

+0

おい...素晴らしい。これは機能します。 IE8ではなぜSafari、Chrome、FFではないのですか? IEがうんざりするという事実を除いて? – marcamillion

1

画像が親になることができない(まあ、ために非常にほとんどありません)ので、セレクタが間違っています。 (お使いの削除ボタンは、以下の2つのレベルダウンし、削除する対象からであれば、これは動作します)、関連するHTMLスニペットせずにどうあるべきかを言うのは難しいですが、しようとする場合があります:

$(this).parent().parent().find("img").fadeTo("slow", 0.30); 

fadeTo方法IE8でうまく動作します。これが動作しない場合は、あなたのHTMLを投稿してください。

それ以外の場合は、imgタグの高さと幅が指定されていることを確認してください。そうでないとIEは要素が不透明になります。詳細はhttp://www.satzansatz.de/cssd/onhavinglayout.htmlを参照してください。

関連する問題