2017-05-05 9 views
0

私は写真のウェブサイトを作っていますが、私は立ち往生しています。私は誰かを救出するために探しています。 私の問題は次のものです:私はCSSからjavascriptに次のコードを翻訳したいと思います。Javascript:

img#image { 
    margin: 0px; 
    background-repeat: none; 
    background-size: 100% 100%; 
} 

@-webkit-keyframes fade { 
    from {opacity: .4} 
    to {opacity: 1} 
} 

@keyframes fade { 
    from {opacity: .4} 
    to {opacity: 1} 
} 

私が今まで作っhave'd:

function Rotate(randomImage) { 
      document.getElementById('image').src = randomImage; 
      document.getElementById('image').setAttribute("style","height: 100%; width: 100%; position:relative; z-index:-1; -webkit-animation-name: fade;-webkit-animation-duration: 1.5s;animation-name: fade;animation-duration: 1.5s;"); 
     } 

は、私は、@ -webkit-キーフレームがフェードと@keyframesが私のjavascriptのコードにフェードインを追加する必要があります。ありがとうございました !

+0

は、なぜあなたががJavaScriptを使用したいです。 CSSアニメーションは非常に効率的で、CSSを使って同じfadeIn/fadeOutスライダを実現できます。 –

+0

私はjavascriptで自動スライダーを作りたいので。このエフェクトは、JavaScriptのコードが介入したときにページをリフレッシュするときに効果があります。 –

+0

しかし、このためにはJavaScriptコードを追加する必要はないので、介入する必要はありません。私はあなたがcssだけでこの自動スライダーを作成できることを意味します。このサイトhttp://charanjeet.com/そして、あなたはすでにそれを達成したと言います。だから、なぜあなたはjavascriptを使いたいのですか? –

答えて

0

は、しかし、あなたは以下を使用することができ、JSを使用して、より良い方法があります。

<div id ="myImg" style="width:100px;height:100px;background:blue;"></div> 

<script> 
    function fadeIn(from,to,duration) { 
     var elem = document.getElementById("myImg"); 
     var step = (to-from)/duration; 
     var opacity = from; 
     var id = setInterval(frameFade, 5); 

     function frameFade() { 
      if (opacity >= to) { 
       clearInterval(id); 
      } else { 
       opacity+=step; 
       elem.style.opacity = opacity; 
       elem.innerHtml = opacity; 
      } 
     } 
    } 
    fadeIn(0.4,1.0,500); 
</script> 

plunker example

+0

あなたのアシスタントが私を最も助けました!私はウェブ開発に非常に新しいです、そして、これがうまくいくなら、私は満足しています。ありがとうございました。 –

+0

もう1つ質問があります。私のウェブサイトのタブにフォーカスがない場合、エフェクトはカウントアップしています。私が彼に戻ってくると、フェードが少し狂ってきています。 –

+0

あなたはそれをどのように実行するかについてのリンクやコードを教えてください。 – Yuvals

0

あなたはjqueryのaddClass()

function Rotate(randomImage){ 
$('img').attr('src',randomImage).addClass('animation_class') 
} 
のスタイルのより多くの数より良い純粋なJavaScriptが classList.add()で使用

function Rotate(randomImage) { 
    document.getElementById('image').src = randomImage; 
    document.getElementById('image').classList.add('animation_class') 

} 

を変更するために、この

document.getElementById('image').animation='fade 1.5s' 
document.getElementById('image').WebkitAnimation='fade 1.5s' 

ようDomアニメーションを使用する必要がある場合 の

のCss

.animation_class { 
    height: 100%; 
    width: 100%; 
    position: relative; 
    z-index: -1; 
    -webkit-animation-name: fade; 
    -webkit-animation-duration: 1.5s; 
    animation-name: fade; 
    animation-duration: 1.5s; 
} 
+0

それは素晴らしいアイデアです、これは私が探していたものです。しかし、問題は残っている。このエフェクトは、ブラウザをリフレッシュするときに機能します。もし私がそれをやり遂げることをループに任せれば、それ以上の効果の王はありません。 –