11485 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous je suis en train de développer un petit porfolio pour mon usage personnel je fais une navigation avec Ajax tout fonctionne niquel ! sauf un petit soucis quand je change de page au lieu de charger juste la div que je lui demande il charge tout la page donc du coup je me retrouve avec 2 page charger c'est très génant d'ailleur..
J'ai vue qu'il faillait bien configurer le .htaccess mais je suis très novice dans la matière je vous montre ce que j'ai fais :

mon menu :
<div class="column-left">
      <h3>MENU</h3>
      <a href="#skip-menu" class="hidden">Skip menu</a>
          <div id="menuu">
      <ul class="menu">
        <li><a href="index.php" class="active">Home</a></li>
        <li><a href="about.php">About me</a></li>
        <li><a href="portfolio.php">Portfolio</a></li>
        <li class="last"><a href="contact.php">Contact</a></li>
      </ul>
          </div>
    </div>


Mon script JS :
$(document).ready(function(){
        $("#menuu a").click(function(){
                page=$(this).attr("href");
                $.ajax({
                        url: "contenu/"+page,
                        cache:false,
                        success:function(html){
                                afficher(html);
                        },
                        error:function(XMLHttpRequest,TextStatus, errorThrown){
                                alert(textStatus);
                        }
                })
                return false;
        });
});

function afficher(data){
        $("#contenu").empty();
        $("#contenu").append(data);
}


et enfin mon .htaccess :
RewriteEngine on
RewriteRule ^([a-zA-Z0-9\-]*).html$ index.php?=$1 [L]


Si vous avez des explication je suis preneur merci !
Salut,
Ce n'est pas un problème de .htacces.
Il faut que tu désactives le lien. Quand on clique sur un lien par défaut il dirige vers lien qui est placé dans l'attribut href.
En Jquery, il suffit de mettre cette ligne :

e.preventDefault(); 

//Appliquer à ton code 
$("#menuu a").click(function(e){
e.preventDefault(); // Annulation du lien
// Ton code
}

Pour être complet voici un très bon article sur la gestion des événements :
http://www.alsacreations.com/article/lire/578-La-gestion-des-evenements-en-JavaScript.html

Bonne soirée.

Smiley edit J'ai lu très vite ton problème, je suis pas sur que ma réponse te permette de résoudre ton problème Smiley rolleyes
Est ce que tu peux nous montrer le fichier que tu reçois grâce à la requête Ajax.
Modifié par renard13 (21 Sep 2014 - 01:14)
Tu associe à l’événement click , mettre à la fin de tes instructions return false,

$("#menuu a").click(function(e){
   return false;
}