Slijedite kevinlearynet na Cvrkut!

kevinleary.net

jQuery fadeIn () & fadeOut (): Problemi u programu Internet Explorer

Dana 20 siječnja 2010 sam unaprijeđen demo za ovu koristiti jQuery 1.4 i fadeIn () i fadeOut () pitanja Čini se da su fiksne u IE7 i IE8.

Primijetio sam neke probleme s mojim jQuery rad. Kad sam iskoristiti. FadeIn () ili. FadeOut () metode vidim ružni pixelated teksta u programu Internet Explorer.

Pregled / Sample / Demonstration

jQuery Fading Problemi u programu Internet Explorer

Kako je to fiksni

Postavljanje pozadinske boje sa CSS na element koji se blijedi u ili izvan.

Alternativna metoda

Ako imate problema sa gore navedene metode daju ovom jQuery plugin probati.

Zahvaljujući Bill: Ne mogu se sjetiti gdje sam dobio ovo s ali ako ga google ćete ga naći. Ovo je kako to škripac problem (nisu testirani u jQuery 1.4).

Koristite ovu funkciju. Promijenite svoju 'fadeOut' u 'customFadeOut'. Uzorku od Bill's setup isto tako može se vidjeti na demo stranici.

  ( $ ) { (Function ($) (
	 = function ( speed , callback ) { $. Fn. CustomFadeIn = function (brzina, povratni poziv) (
		 ) . fadeIn ( speed , function ( ) { $ (This). FadeIn (brzina, function () (
			 ! $. support . opacity ) if (! $. podršku. neprozirnost)
				 ) . get ( 0 ) . style . removeAttribute ( 'filter' ) ; $ (This). Dobiti (0). Stil. RemoveAttribute ( 'filtar');
			 callback != undefined ) if (povratni poziv! = undefined)
				 povratni poziv ();
		 ));
	 );
	 = function ( speed , callback ) { $. Fn. CustomFadeOut = function (brzina, povratni poziv) (
		 ) . fadeOut ( speed , function ( ) { $ (This). FadeOut (brzina, function () (
			 ! $. support . opacity ) if (! $. podršku. neprozirnost)
				 ) . get ( 0 ) . style . removeAttribute ( 'filter' ) ; $ (This). Dobiti (0). Stil. RemoveAttribute ( 'filtar');
			 callback != undefined ) if (povratni poziv! = undefined)
				 povratni poziv ();
		 ));
	 );
	 = function ( speed , to , callback ) { $. Fn. CustomFadeTo = function (brzina, do, povratni poziv) (
		 ( { opacity : to } , speed , function ( ) { vratite ovaj. nadahnjivati ((opacity: da), brzina, function () (
			 to == 1 && jQuery. browser . msie ) if (s == 1 & & jQuery. preglednik. MSIE)
				 . removeAttribute ( 'filter' ) ; to. stil. removeAttribute ( 'filtar');
			 jQuery. isFunction ( callback ) ) if (jQuery. isFunction (povratni poziv))
				 povratni poziv ();
		 ));
	 );
 ; )) (JQuery); 

Resursi

Ova web stranica koristi IntenseDebate komentare, ali oni su trenutno ne učitava ili zato što vaš browser ne podržava JavaScript ili oni nisu dovoljno brzo učitavanje.

10 Komentari

  1. 4:01 AM jQuery fadeIn () & fadeOut () - Bug br Internet Explorer »Pinceladas da Web - Reflexões sobre XHTML, CSS, PHP e WebStandards / 11.4.08 / 4:01

    [...] Mas acabei encontrado uma solução muito Interessante bez stranice Leary, Kevin de que consiste em simplesmente Adicionar uma cor de fundo ao elemento que sera aplicado o [...]

  2. 1:43 PM John / 10.11.09 / 1:43

    Prišteđen mene puno od vrijeme na ovom jednom - hvala!

  3. 7:56 PM Alexandre Oliveira / 11.12.09 / 7:56

    Ohhh moje! Ja ne mogu vjerovati ...

    IE je uvijek iznenađuje me.

  4. 10:20 PM @ dangerdave / 12.7.09 / 10:20

    To se činilo obećavajuće, ali pokušao sam vaš demo na IE8 (na Win7) i "prilično" Fade In izgleda baš kao slomljen i pixellated kao prilično ne-fade-in. Alas.

  5. 11:07 PM kevinlearynet / 12.7.09 / 11:07

    Hej Dave,

    That's too bad - i ja sam čuo tako velike stvari oko 7. Imam kopiju XP i pitanje čini se da je fiksna za oba primjera na IE8 (čak i loše). Dok sam dobiti kopiju sustava Windows 7 opterećen settle na VMware ne znam kako pomoći na ovom jednom. U međuvremenu, ako ste vi ili bilo tko drugi naći na uzrok / rješenje javite svi znaju.

  6. 11:41 AM Stefan / 1.4.10 / 11:41

    hvala za ovaj! To je davanje mene glavobolja za fer nekoliko sati ..

    Cheeeeeeeeeeeers!

  7. 2:35 AM svježa / 1.16.10 / 2:35

    Kevin, hvala za šerif! Ali ako ne mogu postaviti bg boja, jer imam kompleks pozadini ispod na tijelu elementa? Ako sam postaviti bg boju, ona će izgledati jako ružno na ne-stan-bg boju. Ti znaš sve drugo rješenje? Čak tvrdi jedan? :-)

  8. 4:23 PM kevinlearynet / 1.19.10 / 4:23

    Ne mogu reći da mi je znati škripac za to svježe, čak i tvrd jedan. Vi svibanj ištanje to uzeti u obzir kopanje oko stackoverflow.com za neke slične scenarije:

    <a href="http://stackoverflow.com/search?q=jquery+fadeIn+IE"> Stackoverflow.com traženje za "jQuery fadeIn IE"

    Ako ne možete naći ništa bih napisati novi unos. Stackoverflow je nevjerojatno koristan za mene, a posebno sa jQuery napredne scenariji ovako.

    Best of luck i hvala za postavljanje!

  9. 7:24 AM račun / 1.20.10 / 7:24

    Ja se ne mogu sjetiti gdje sam dobio ovo s ali ako ga google ćete ga naći. Ovo je kako to škripac problem (nisu testirani u jQuery 1.4).

    Koristite ovu funkciju. Promijenite svoju 'fadeOut' u 'customFadeOut'.

    (function ($) (
    $. fn.customFadeIn = function (brzina, povratni poziv) (
    $ (this). fadeIn (brzina, function () (
    if (! $. support.opacity)
    $ (this). dobiti (0). style.removeAttribute ( 'filtar');
    if (povratni poziv! = undefined)
    povratni poziv ();
    ));
    );
    $. fn.customFadeOut = function (brzina, povratni poziv) (
    $ (this). fadeOut (brzina, function () (
    if (! $. support.opacity)
    $ (this). dobiti (0). style.removeAttribute ( 'filtar');
    if (povratni poziv! = undefined)
    povratni poziv ();
    ));
    );
    $. fn.customFadeTo = function (brzina, do, povratni poziv) (
    povratak this.animate ((opacity: da), brzina, function () (
    if (s == 1 & & jQuery.browser.msie)
    this.style.removeAttribute ( 'filtar');
    if (jQuery.isFunction (povratni poziv))
    povratni poziv ();
    ));
    );
    )) (jQuery);

  10. 1:04 PM kevinlearynet / 1.20.10 / 1:04

    Hvala za ovaj zakon, ja sam ga dodao u post i stavili kod u source gledatelja.

Ostavite komentar

neće biti objavljen

Zamotajte broj blokova sa <pre lang="LANGUAGE" line="1"> i </ pre> gdje je jezik GeSHi podržanom jeziku sintaksa.