FadeOut FadeIn Problemen JQUERY

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

Ik ben bezig om een website te maken.
Zo ziet die er nu uit:
www.lewishamilton.woelmuis.nl


Alleen ik zit met een probleem die je misschien al opgevallen is.
Als ik zap tussen mijn menu. En ik klik erop. Dan vervalt de oude tekst Maar dan gaat eerst het blok naar beneden en dan pas komt de nieuwe tekst.
Hij hoort gewoon te verdwijnen en dan te vervangen zonder eerst een het blok uit te breiden naar benede
Maar het rare is.

Als ik al op home sta en ik druk weer op home dan vervangt die hem zoals ik wil.!

Ik werk met jquery:

code:
1
2
3
4
5
6
7
8
9
10
11
$(document).ready(function(e){
    
    $(".jqueryslidemenu ul li a").click(function(e){
        var _getSource = $(this).attr("rel");
        $(".content").fadeOut("slow")
            $("."+_getSource).fadeIn("slow")

          });
          return false;

        });



Ik kom er echt niet meer uit:p
Ik heb even voor wat extra duidelijkheid alle bestanden in een rar gezet: http://ul.to/e46wkb

[ Voor 4% gewijzigd door Verwijderd op 21-03-2010 22:02 ]


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Dat is helemaal niet raar. Als je op eender welke pagina staat en dezelfde pagina opent dan wordt dezelfde div uitgefade en weer ingefade. Als je op een andere pagina klikt dan wordt div1 uitgefade, en div2 ingefade -terwijl div1 nog aan het uitfaden is-. Hij rendert gewoon die tweede div onder de eerste.

Wat je moet doen is een timer zetten op de fadeout van div1, zodra die is uitgefade laat je div2 infaden.
Overigens wil je niet al je content al in je website hebben, laadt het in met ajax oid.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Grijze Vos schreef op zondag 21 maart 2010 @ 22:01:
Dat is helemaal niet raar. Als je op eender welke pagina staat en dezelfde pagina opent dan wordt dezelfde div uitgefade en weer ingefade. Als je op een andere pagina klikt dan wordt div1 uitgefade, en div2 ingefade -terwijl div1 nog aan het uitfaden is-. Hij rendert gewoon die tweede div onder de eerste.

Wat je moet doen is een timer zetten op de fadeout van div1, zodra die is uitgefade laat je div2 infaden.
Overigens wil je niet al je content al in je website hebben, laadt het in met ajax oid.
Hoe doe ik dat 8)7

code:
1
2
3
4
5
6
7
8
9
10
11
12
$(document).ready(function(e){
    
    $(".jqueryslidemenu ul li a").click(function(e){
        var _getSource = $(this).attr("rel");
        $(".content").fadeOut(1, function(e){
            $("."+_getSource).fadeIn(800);
            
        });
        
        
    });
});

Zo werkt die ook niet

[ Voor 20% gewijzigd door Verwijderd op 21-03-2010 22:07 ]


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Het is nog makkelijker dan ik dacht, want fadeOut heeft gewoon een callback functie.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Grijze Vos schreef op zondag 21 maart 2010 @ 22:08:
Het is nog makkelijker dan ik dacht, want fadeOut heeft gewoon een callback functie.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
$(document).ready(function(e){
    
    $(".jqueryslidemenu ul li a").click(function(e){
        var _getSource = $(this).attr("rel");
        $(".content").fadeOut(1, function(e){
         // Animation complete.
            $("."+_getSource).fadeIn(800);
            
        });
        
        
    });
});

Zo doet die het ook niet

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
_Wat_ doet het niet? Beetje debuggen mag wel hoor.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Grijze Vos schreef op zondag 21 maart 2010 @ 22:13:
_Wat_ doet het niet? Beetje debuggen mag wel hoor.
Nog steeds dat die eerst naar ondervliegt
en dan pas vervangt

Kijk ik kan de fadeOut wel op -90000000 zetten.
Maar dan blijf je toch die verschuiving zien van de onderste balk
Kijk nu maar op www.lewishamilton.woelmuis.nl
Ik heb hem aangepast naar:
code:
1
2
3
4
5
6
7
8
9
10
11
$(document).ready(function(e){
    
    $(".jqueryslidemenu ul li a").click(function(e){
        var _getSource = $(this).attr("rel");
        $(".content").fadeOut(-90000000000000,("."))
            $("."+_getSource).fadeIn(300)

          });
          return false;

        });

[ Voor 57% gewijzigd door Verwijderd op 21-03-2010 22:32 ]


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Het probleem ontstaat omdat je alle blocks met de class .content wegfade. Degene die al display: none hebben op dat moment triggeren meteen de event complete functie die je meepasst, waardoor de fadeIn nog te vroeg plaats vind.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info

Pagina: 1