SORU
16 ŞUBAT 2011, ÇARŞAMBA


Nasıl tarayıcılarda CSS3 Geçiş fonksiyonları normale muyum?

Y geçiş son olay webkitTransitionEnd denir, Firefox transitionEnd, opera oTransitionEnd. Saf JS hepsini mücadele için iyi bir yol nedir? Tarayıcı koklama yapmalıyım? ya da her biri ayrı ayrı uygulamak? Aklıma gelmedi başka bir yol?

yani:

//doing browser sniffing
var transitionend = (isSafari) ? "webkitTransitionEnd" : (isFirefox) ? "transitionEnd" : (isOpera) ? "oTransitionEnd";

element.addEventListener(transitionend, function(){
  //do whatever
},false);

ya

//asigning an event listener per browser
element.addEventListener(webkitTransitionEnd, function(){callfunction()},false);
element.addEventListener(oTransitionEnd, function(){callfunction()},false);
element.addEventListener(transitionEnd, function(){callfunction()},false);

function callfunction() {
   //do whatever
}

CEVAP
1 ŞUBAT 2012, ÇARŞAMBA


Bir teknik Modernizr, geliştirilmiş: kullanılan var

function transitionEndEventName () {
    var i,
        undefined,
        el = document.createElement('div'),
        transitions = {
            'transition':'transitionend',
            'OTransition':'otransitionend',  // oTransitionEnd in very old Opera
            'MozTransition':'transitionend',
            'WebkitTransition':'webkitTransitionEnd'
        };

    for (i in transitions) {
        if (transitions.hasOwnProperty(i) && el.style[i] !== undefined) {
            return transitions[i];
        }
    }

    //TODO: throw 'TransitionEnd event is not supported in this browser'; 
}

O zaman sadece geçiş son olay ne zaman ihtiyacın olursa bu işlevini çağırabilirsiniz:

var transitionEnd = transitionEndEventName();
element.addEventListener(transitionEnd, theFunctionToInvoke, false);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • SavageLuxxxGaming - Daily NBA 2K15 & NBA Live 15 Enjoy And Subscribe!

    SavageLuxxxG

    11 Ocak 2013
  • The Fashion Sight

    The Fashion

    22 AĞUSTOS 2011
  • UnboxTechnology

    UnboxTechnol

    20 Ocak 2011