Problème pour cacher/montrer un bloc de page.
Fermé
Keykoss
-
5 janv. 2009 à 20:23
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 6 janv. 2009 à 19:06
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 6 janv. 2009 à 19:06
A voir également:
- Problème pour cacher/montrer un bloc de page.
- Supprimer une page word - Guide
- Cacher conversation whatsapp - Guide
- Consultez le code source de cette page. copiez la ligne indiquant aux moteurs de recherche de ne pas référencer la page. ✓ - Forum Référencement
- Télécharger bloc note - Télécharger - Agendas & Calendriers
- Impossible de supprimer une page word ✓ - Forum Word
7 réponses
AdminTOURS
Messages postés
403
Date d'inscription
jeudi 5 juillet 2007
Statut
Membre
Dernière intervention
14 janvier 2011
91
6 janv. 2009 à 15:24
6 janv. 2009 à 15:24
Mouarf j'ai oublié le script dans le header
<script type="text/javascript">
function switchMenu(obj)
{
var el = document.getElementById(obj);
if(el.style.display != "block")
{ el.style.display = "block"; }
else
{ el.style.display = "none"; }
}
</script>
<script type="text/javascript">
function switchMenu(obj)
{
var el = document.getElementById(obj);
if(el.style.display != "block")
{ el.style.display = "block"; }
else
{ el.style.display = "none"; }
}
</script>
AdminTOURS
Messages postés
403
Date d'inscription
jeudi 5 juillet 2007
Statut
Membre
Dernière intervention
14 janvier 2011
91
6 janv. 2009 à 13:43
6 janv. 2009 à 13:43
Tu pourrais mettre ton texte dans un div mettons qu'il s'appelle "news"
<a onclick="switchMenu('news');" >Afficher/masquer la news</a>
<div id='news' style="display:none;" >
ta news
</div>
<a onclick="switchMenu('news');" >Afficher/masquer la news</a>
<div id='news' style="display:none;" >
ta news
</div>
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
477
6 janv. 2009 à 15:16
6 janv. 2009 à 15:16
Par curiosité j'ai testé en faisant un simple copié/coller de ton code mais mon navigateur semble ignorer le lien. Du coup il ne m'affiche que le texte du lien.
AdminTOURS
Messages postés
403
Date d'inscription
jeudi 5 juillet 2007
Statut
Membre
Dernière intervention
14 janvier 2011
91
6 janv. 2009 à 15:11
6 janv. 2009 à 15:11
Pour rester sur ma solution (qui marche chez moi), il faut mettre l'url comme tel :
<option value="http://URL">item1</option>
<option value="http://URL">item1</option>
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
477
6 janv. 2009 à 15:08
6 janv. 2009 à 15:08
Je pense avoir une solution.
Tu fait un lien avec un bouton (apparance modifiable en css).
Exemple:
<input type="submit" name="cache" value="Cacher le bloc" />
Juste avant tu met en PHP:
<?php
if(!isset($_POST['cache']))
{if(!isset($_SESSION['cache']))
{echo '#code de ton bloc de news#';}
}
?>
Avec ça, ça devrai fonctionner.
Tu fait un lien avec un bouton (apparance modifiable en css).
Exemple:
<input type="submit" name="cache" value="Cacher le bloc" />
Juste avant tu met en PHP:
<?php
if(!isset($_POST['cache']))
{if(!isset($_SESSION['cache']))
{echo '#code de ton bloc de news#';}
}
?>
Avec ça, ça devrai fonctionner.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
AdminTOURS
Messages postés
403
Date d'inscription
jeudi 5 juillet 2007
Statut
Membre
Dernière intervention
14 janvier 2011
91
6 janv. 2009 à 15:30
6 janv. 2009 à 15:30
COOL !
De rien ! N'hésite pas à mettre le post en résolu !
De rien ! N'hésite pas à mettre le post en résolu !
AdminTOURS
Messages postés
403
Date d'inscription
jeudi 5 juillet 2007
Statut
Membre
Dernière intervention
14 janvier 2011
91
6 janv. 2009 à 15:46
6 janv. 2009 à 15:46
ou tout simplement en mettant
style="display:block" >
dans ton div
style="display:block" >
dans ton div
Je ne sais pas se qui ne marche pas, si c'est moi qui n'arrive pas a mettre en place vos codes ou le problème qui est mal compris.
Mon code pour cacher/montrer les news en lui même je l'ai. Le voici :
Mon problème est que si, sur la page d'accueil vous cliquez sur "cacher les news", elles se cachent normalement. Mais le truc c'est que lorsque vous changer de page, les news réapparaissent. C'est là mon problème, comment faire pour qu'au changement de page, la news reste comme c'était juste avant.
Mon code pour cacher/montrer les news en lui même je l'ai. Le voici :
<div class="content">
<div style="margin: 5px 10px 10px;">
<div style="" class="quotetitle"><strong>
</strong><input value="Masquer les news"
style="margin: 0px; padding: 0px; width: 140px; text-align: center; font-size: 10px;"
onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Masquer les news'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Afficher les news'; }"
type="button">
<noscript><span
style="color:#FF0000;background-color:#FFFFFF;font-weight:bold;text-decoration:underline;font-style:italic;">Cette
balise requiert Javascript d'activé.</span></noscript>
</div>
<div class="quotecontent">
<div style="text-align: center;"><img
alt=""
src="http://img155.imageshack.us/img155/6619/sanstitre3jc9.png"><br>
.:: 27/12/08 ::.<br>
Ajout des photos du téléthon, barrages cadettes
et challenge Veolia.<br>
<img alt=""
src="http://img155.imageshack.us/img155/6619/sanstitre3jc9.png"></div>
</div>
</div>
</div>
Mon problème est que si, sur la page d'accueil vous cliquez sur "cacher les news", elles se cachent normalement. Mais le truc c'est que lorsque vous changer de page, les news réapparaissent. C'est là mon problème, comment faire pour qu'au changement de page, la news reste comme c'était juste avant.
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
477
6 janv. 2009 à 19:06
6 janv. 2009 à 19:06
Ma solution (mon premier message) répondais justement à ça. J'avais mis en session le statut "masqué" du bloc.
Je la remet ici de manière un peu plus complète :
<?php
session_start ();
if($_POST['cache'] == 'Masquer') {$_SESSION['cache'] = 'OFF';}
if($_SESSION['cache'] != 'OFF')
{echo'<div><p>... news...</p><p><form method="post" action="cache.php"><input type="submit" name="cache" value="Masquer" /></form></p></div>';}
if($_SESSION['cache'] == 'OFF') {echo '<form method="post" action="cache.php">
<input type="submit" name="cache" value="Afficher" /></form>';}
?>
J'ai testé le code et il marche.
Dans mon exemple, la page s'appelle cache.php. Remplace l'url par celui de ta page et ça marchera.
Je la remet ici de manière un peu plus complète :
<?php
session_start ();
if($_POST['cache'] == 'Masquer') {$_SESSION['cache'] = 'OFF';}
if($_SESSION['cache'] != 'OFF')
{echo'<div><p>... news...</p><p><form method="post" action="cache.php"><input type="submit" name="cache" value="Masquer" /></form></p></div>';}
if($_SESSION['cache'] == 'OFF') {echo '<form method="post" action="cache.php">
<input type="submit" name="cache" value="Afficher" /></form>';}
?>
J'ai testé le code et il marche.
Dans mon exemple, la page s'appelle cache.php. Remplace l'url par celui de ta page et ça marchera.
6 janv. 2009 à 15:27
6 janv. 2009 à 15:30
Mais lors de l'apparition de la page, il est caché. Serais-se possible d'avoir le même code mais avec l'apparition du code dès l'ouverture de la page et non l'inverse ?
En revanche après actualisation de la page, le code reviens à son état d'origine et ne reste pas comme on l'avais "laisser" ... est-ce une mauvais utilisation de ma part ?
6 janv. 2009 à 15:34
if(el.style.display != "block") { el.style.display = "block"; } else { el.style.display = "none"; }en inversant les conditions.
if(el.style.display == "block") { el.style.display = "none"; } else { if(el.style.display == "block") { el.style.display = "block"; } }Je pense que ça pourrai marcher. A essayer.