2016-05-26 5 views
2

で動作していない、私はクロームでimgを選択したが、それでも、アニメーションはしていません私は、コードの上に行ってきましたが、たぶん私は何かが欠けてる、実行jQueryのアニメーション。({不透明度が}だから私のコードでは、私はそれが動作しませんでしたdiv要素の不透明度をアニメーション化しようとしていますすべての

HTMLを簡素化:。

<div class="searchWrapper"> 
    <div class="row"> 
     <div class="col-xs-3 popsImage"> 
      <img src="img/airplane3.png"> 
     </div> 
    </div> 
    <script src="https://www.somesite.com/searchbox"></script> 
</div> 

をスクリプト:

<script type="text/javascript"> 
     console.log('starting anim'); 
     $(".body > div.searchWrapper > div.row > div > img").animate({ 
      opacity: 0.9 
     }, 5000, function() { 
      console.log('Animation complete.'); 
     }); 
    </script> 

、これはCSSです:

body > div.searchWrapper > div.row > div > img{ 
    opacity:0; 
} 

ので、コンソールは、印刷「スタートアニメーション」を行いますが、それはコンソールに完了を印刷しないようにアニメーションがコールバックに到達していません。

誰かが問題を見つけることができ、以前のスクリプトの実行が犯人かもしれないでしょうか?

+0

は、文字列として番号を入れて?それはオブジェクト内にあります。 – erezT

答えて

1

あなたのセレクタには、の前に間違って配置された.がありますので、.bodybodyに変更してください。また、document ready handlerの中にコードを入れて、ページが読み込まれるのを待ちます。

$(document).ready(function() { 
 
    console.log('starting anim'); 
 
    $("body > div.searchWrapper > div.row > div > img").animate({ 
 
    //-^------------ remove . 
 
    opacity: 0.9 
 
    }, 5000, function() { 
 
    console.log('Animation complete.'); 
 
    }); 
 
});
body > div.searchWrapper > div.row > div > img { 
 
    opacity: 0; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="searchWrapper"> 
 
    <div class="row"> 
 
    <div class="col-xs-3 popsImage"> 
 
     <img src="img/airplane3.png"> 
 
    </div> 
 
    </div> 
 
    <script src="https://www.somesite.com/searchbox"></script> 
 
</div>

+0

correc、私は "。"を削除しました。ボディからのクラスセレクタは、それでも動作しません。 – erezT

+0

@erezT:ドキュメントレディハンドラでラップ? –

+0

これはプリローダーです。ドキュメントが準備される前に実行されるはずです。 – erezT

0

の代わりにjQueryを使用すると、負荷上の画像にCSSクラスを追加し、アニメーションのためのCSSを使用することができ、アニメーション:

JS

$('element').addClass('animate-opacity'); 

CSS

.animate-opacity { 
    transition: opacity 5s; 
    opacity: .9; 
} 
0

bodyは、HTMLタグのですが、あなたのコード内でクラスとしてそれを使用しています。 jQueryのコードで前.を削除し、あなたのアニメーションが動作します。

console.log('starting anim'); 
 
$("body > div.searchWrapper > div.row > div > img").animate({ 
 
    opacity: 0.9 
 
}, 5000, function() { 
 
    console.log('Animation complete.'); 
 
});
body > div.searchWrapper > div.row > div > img{ 
 
    opacity:0; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="searchWrapper"> 
 
    <div class="row"> 
 
     <div class="col-xs-3 popsImage"> 
 
      <img src="img/airplane3.png"> 
 
     </div> 
 
    </div> 
 
    <script src="https://www.somesite.com/searchbox"></script> 
 
</div>

+0

correc、私は "。"を削除しました。ボディからのクラスセレクタは、それでも動作しません。 – erezT

+0

は '$(関数(){...})内のコードをラップ@erezT;'それが動作するはずです。 –

+0

私はこのようにそれをやった: \t \tます。 これは間違いありませんか? – erezT

関連する問題