-1

次のコードは、Chrome だけでなく Firefox ('transitionend' を使用) でも動作に一貫性がありません。機能slogan_fade_nextはただconsole.log('end');です。クラス名は常に最初のスパン要素に適用されますが、それ以降は、更新ボタンをクリックしたり、再読み込みしたり、その他の何かをクリックしたときに失敗します。

slogan-fadein適用先のクラスはslogan[]要素の不透明度を 0 から 1 に変更しますが、コールバック関数fade_setupは一貫して呼び出されません。

function fade_setup(){
    var el = document.getElementsByClassName('slogan')[0];
    el = el.getElementsByTagName('span');
    for(var i=0;el[i];i++){
      el[i].addEventListener('webkitTransitionEnd',slogan_fade_next,false);
    }
    el[0].className='slogan-fadein';
  }

  document.addEventListener('DOMContentLoaded', fade_setup);
4

2 に答える 2

1

この問題は、Stephen が述べたように、スタイルやその他のものを適用する際のタイミングの問題によって引き起こされます。問題は、最初のフェードインを起動しようとするまでに物事が解決しないため、 でそれをトリガーしたことwindow.onload=slogan_fade_next;です。私の最初の要素がその仕事をするまでに、すべてが落ち着きました.

私はこれについて「うまくいく」以外はまったく考えていません。これを行うためのより良い方法を考え出すと確信しています。

于 2014-01-07T22:54:39.133 に答える