Beste,

Ik wil een html pagina inlaten laden binnen een div, dit gaat goed, maar nadat ik op de link werkwijze heb geklikt, en daarna nog een keer op home klikt doet hij de slide een aantal keer achter elkaar.
Hoe meer ik van pagina's switch, hoe meer hij gaat sliden.

Ik snap echt niet wat ik verkeerd doe, ik hoop dat iemand mij kan helpen.

<?php
$(document).ready(function(){

$(".menu_klik").click(function() {
var pagina = $(this).attr("id");
var loading = "<p align=\"center\"><img src=\"images/loading.gif\" /></p>"
var div = $(".inline_content");

switch(true) {
case (pagina == "home") :
div.slideUp("fast");
div.html(loading);
div.load("pages/home.php");
div.slideDown("fast");
break;

case (pagina == "werkwijze") :
div.slideUp("fast");
div.html(loading);
div.load("pages/werkwijze.php");
div.slideDown("fast");
break;
}
})

});
?>

Mvg, Joost van der Meijden.


Edit: http://meijdenmedia.nl/www/filmyourwedding/#
Zoiets heb ik ook gehad, heb je deze functie toevallig vaker om je pagina staan?

Ik zou graag een demo willen zien van wat er mis gaat, dan is het makkelijker te helpen :)
Dat was het probleem inderdaad!

Maar nu doet heb ik een ander probleem, als ik naar de pagina ga, en ik klik in de normale tekst op de link, ga ik gewoon naar de goede "werkwijze" pagina.
Dan klik ik in het menu onderin op home, en dan werkt de link in de tekst niet meer, hoe los ik dit probleem op?

http://meijdenmedia.nl/www/filmyourwedding/#
Je kan de click ook toekennen middels live(). Je hoeft dan niet iedere keer als je de pagina inlaadt het stukje javascript te laden, maar wordt het click-evant altijd aan de betreffende class toegekend.

$(".menu_klik").click(function() {....

wordt dan:
$(".menu_klik").live('click', function() {....


Dan zou het moeten werken
Wil je alsjeblieft een demo pagina opsturen/online zetten? Het is echt lastig als je niet precies weet wat er gebeurt...

Als ik het zo hoor lijkt het me dat je het volgende uit de script hebt verwijdert:
................................
switch(true) {
case (pagina == "home") :
div.slideUp("fast");
div.html(loading);
div.load("pages/home.php");
div.slideDown("fast");
break;
...............................
Oh sorry, ik dacht dat die link gewoon een link was naar een eerdere website.

Nice that its solved!!

[size=xsmall]Toevoeging op 12/08/2011 16:35:19:[/size]

Ik zou trouwens alles in één keer laden, dat scheelt voor de server. Meerdere divs aanmaken, voor home, ..., ... en dan als je bijvoorbeeld op home klikt moet er dit gebeuren:

$('#dashboard').fadeOut();
document.getElementById('dashboard').innerHTML=document.getElementById('home').innerHTML;
$('#dashboard').fadeIn();
ja, je laadt alles dan in een keer, maar requests kosten ook energie, en je site word slomer voor de gast...

Reageren