Bonjour,

j'ai suivi 2 tutoriels
-- Décomposer un site en PHP avec obStart
-- Navigation Ajax

pour en arriver ou je suis actuellement mais je bloque un peu.
Je suis arrivé à tout faire fonctionner sauf la dernière partie. Le réaffichage du contenu. Le FadeOut(); fonctionne mais pas le FadeIn();

Le contenu des pages ce trouve dans un dossier "pages".

jQuery

$('#nav-menu .menu a').click(function(){
        page = $(this).attr("href");
        $.ajax({
            url: "pages/"+page,
            cache:false,
            success: function(html){
                changement();
            },
            error: function(XMLHttpRequest, textStatus, errorThrown){
                alert(textStatus);
            }

        });
        return false;
    });
    function changement(data){
        $("#content-warp").fadeOut(500,function(){
            $("#content-warp").empty();
            $("#content-warp").append(data).fadeIn(1000);
        });
    };

index.php

<?php
    if(!isset($_GET"page"])){ $_GET"page"]="index";}
    if(!file_exists("pages/".$_GET"page"].".php")){ $_GET"page"]="404";}
    ob_start();
    include "pages/".$_GET"page"].".php";
    $content = ob_get_contents();
    ob_end_clean();
    include "template.php"
?>

.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z\-]*)$ index.php?page=$1 [QSA,L]

Merci

2 réponses


thunder75
Réponse acceptée

C'est nomal que le fadeOut n'affiche rien, tu vides ton #content-ward ensuite tu fais un append(data) mais dans le $.ajax où tu appelles ta fonction chargement tu ne spécifies rien pour le parametre data, il faut mettre chargement(html).

La faute était sous on nez.

Merci