Bonjour,
J'ai utilisé un code en js qui permet de changer d'item active au clique d'un autre item sur mon menu mais mon problème et que le selecteur se reset à chaque fois à chaque changement de page une idée pour résoudre ceci?
voici le code de mon default.php :
<!DOCTYPE html>
<html lang="fr">
<head> <!-- t�te de page -->
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <!--concerne IE-->
<meta name="viewport" content="width=device-width, initial-scale=1"> <!--concerne portable-->
<link rel="stylesheet" type="text/css" href="Semantic/semantic.css ">
<link rel="stylesheet" type="text/css" href="Semantic/mon_css.css">
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="Semantic/semantic.min.js"></script>
</head>
<body>
<?php require('Include/Menu.php'); ?>
<?php require('Include/Javascript.php'); ?>
</body>
voici mon Menu.php
<div class="ui blue inverted segment">
<div class="ui inverted secondary pointing menu">
<a class="active item" href="index.php">
<h3>Accueil</h3>
</a>
<a class="item" href="articles.php">
Articles
</a>
<div class="right menu">
<div class="item">
<div class="ui icon input">
<input placeholder="chercher article" type="text">
<i class="search icon"></i>
</div>
</div>
<div class="item">
<div class="ui primary button">Se connecter</div>
</div>
</div>
</div>
</div>
et Voici mon Js :
$('.ui.menu')
.on('click', '.item', function() {
if(!$(this).hasClass('dropdown')) {
$(this)
.addClass('active')
.siblings('.item')
.removeClass('active');
}
});
merci mais finalement j'ai trouvé avec ceci :
$(function() {
var pgurl = window.location.href.substr(window.location.href.lastIndexOf("/")+1);
$(".ui.menu a").each(function(){
if($(this).attr("href") == pgurl || $(this).attr("href") == '' )
$(this).addClass("active");
})
});
Bonjour,
Avant de résoudre le problème il faut comprendre comment cela fonctionne.
Ton application fonctionne grâce à 2 "machines". Navigateur et serveur (mode client/serveur classique)
Le fonctionnement est le suivant :
Dans ton cas qu'est ce qu'il se passe :
Tu as affiché ta page une première fois. Tous les menus sont fermés. Tu cliques dessus. Ton code javascript réagit à cette évènement et fait son travail. Le menu s'ouvre, les autres se ferment.
Maintenant tu changes de page. Le navigateur supprime tout son contenu, effectue la requête, reçoit la page , exécute ton javascript.
Pour mettre en place ton système il faut que la navigateur sache quel menu ouvrir lorsqu'il reçoit la page. Il y a plusieurs possibilités.. du propre au dégueulasse mais pèle-mèle il est possible de :
etc...
Je vote 1 mais tout dépend de l'ensemble du système après.