Question sur javascript

Fermé
corentin.bc Messages postés 389 Date d'inscription dimanche 8 février 2015 Statut Membre Dernière intervention 4 novembre 2022 - 22 juin 2016 à 08:28
corentin.bc Messages postés 389 Date d'inscription dimanche 8 février 2015 Statut Membre Dernière intervention 4 novembre 2022 - 24 juin 2016 à 09:38
Bonjour,
j'aimerais savoir si, quand JavaScript est désactivé chez mon visiteur, il est possible de masquer un lien.

Pour être précis :
sur cette page :
https://www.accessibiliteprogrammes.fr/accueil.php
j'aimerais masquer le deuxième lien du menu de la page quand JS est désactivé.

Comment faire ?
Merci d'avance.

7 réponses

jordane45 Messages postés 38216 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 juin 2024 4 679
22 juin 2016 à 08:56
Bonjour

faut voir le problème à l'envers. ..
tu masques le lien par défaut. .. et tu l'actives en js.
comme ça si js est désactivé le lien ne s'affichera ps
0
corentin.bc Messages postés 389 Date d'inscription dimanche 8 février 2015 Statut Membre Dernière intervention 4 novembre 2022 8
22 juin 2016 à 08:58
Salut,
oui, certe, mais comment on fait ?
J'y connais rien en JS pour être honête.
0
jordane45 Messages postés 38216 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 juin 2024 4 679
22 juin 2016 à 11:32
Voici un exemple :

<!doctype html>
<html lang="fr">
 <head>
  <meta charset="utf-8" />
  <title>TEST</title>
  
 </head>
 <body>
  
  
   <ul id="menu">
	<li><a href="/Accessibilite-Programmes-quoi-de-neuf.php">Quoi de neuf sur le site?</a></li>
	<li><a href="#" style="cursor:not-allowed">Accueil</a></li>
	<li><a href="/AccessiKey.php">AccessiKey</a></li>
	<li><a href="/autres_sites_utiles.php">Autres sites utiles</a></li>
	<li><a href="/bureautique.php">bureautique</a></li>
	<li><a href="/compression-decompression.php">compression et décompression</a></li>
	<li><a href="/courriers-electroniques-et-messageries.php">courriers électroniques et messageries instantanées</a></li>
	<li><a href="/audio.php">écoute et retouche de fichiers audios et vidéos</a></li>
	<li><a href="/internet.php">internet</a></li>
	<li><a href="/jeux.php">jeux</a></li>
	<li><a href="/vocal.php">lecteurs d'écran</a></li>
	<li><a href="/MaintenanceKey.php">MaintenanceKey</a></li>
	<li><a href="/modulesNVDA.php">modules du lecteur d'écran NVDA</a></li>
	<li><a href="/securite_et_nettoyage.php">sécurité et nettoyage</a></li>
	<li><a href="/tutos.php">tutoriels</a></li>
	<li><a href="/utilitaires.php">utilitaires</a></li>
	<li><a href="/contact.php">contacts et réseaux sociaux</a></li>
	<li><a href="/flu_du_site.Xml">flux RSS du site</a></li>
	<li><a href="/wanewsletter-3.0.0/subscribe.php">inscription et désinscription à la newsletter du site</a></li>
	<li><a href="/settings.php">Options</a></li>
	<li><a href="/logiciels">Télécharger des logiciels installables sans parcourir les pages du site</a></li>
	<li><a href="/logiciels/portables">Télécharger des logiciels portables sans parcourir les pages du site</a></li>
	<li><a href="http://www.nvda-fr.org/" target=_blank>Consulter le site NVDA-fr de Michel Such</a></li>
</ul>

  
 
 
  <script type='text/javascript'>
    var ul = document.getElementById("menu");
	var liArray = ul.getElementsByTagName("li");
	var lienArray = liArray[1].getElementsByTagName("a");
	
	//on active le lien (en lui mettant l'url ou aller....)
	lienArray[0].href = "/accueil.php";
	lienArray[0].style.cursor="pointer";
	
  </script>
 </body>
</html>


J'ai retiré l'url du lien et lui ai mis un cursor différent.
Le javascript lui remet l'url et le cursor ....
0
jordane45 Messages postés 38216 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 juin 2024 4 679
22 juin 2016 à 11:35
A la place de changer l'url ... on peut aussi simplement jouer sur l'affichage .. ( afficher ou non le lien).
Pour ça il te suffit de jouer avec la propriété (css) : display
que tu mettras à none pour le masquer..... à block pour l'afficher....

et donc ton lien au départ :
<li><a href="/accueil.php" style="display:none">Accueil</a></li>

et le code js :
var ul = document.getElementById("menu");
var liArray = ul.getElementsByTagName("li");
var lienArray = liArray[1].getElementsByTagName("a");

lienArray[0].style.display = 'block';
0
corentin.bc Messages postés 389 Date d'inscription dimanche 8 février 2015 Statut Membre Dernière intervention 4 novembre 2022 8
24 juin 2016 à 08:43
Salut,
merci, ça fonctionne à merveille.
Et alors comment faire la même chose avec la partie qui affiche l'heure et la date?

Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
24 juin 2016 à 09:00
Salut,

En complément il est également possible d'utiliser la balise noscript pour afficher du contenu si le javascript est désactivé :
https://developer.mozilla.org/fr/docs/Web/HTML/Element/noscript

Bonne journée,
0
corentin.bc Messages postés 389 Date d'inscription dimanche 8 février 2015 Statut Membre Dernière intervention 4 novembre 2022 8
24 juin 2016 à 09:25
Mais moi, justement c'est l'inverse que je veux faire, afficher le script quand JS est activé et afficher un paragraphe si non, ce qui me donne une idée, je test un truc et reviens vous dire le résultat.
0
corentin.bc Messages postés 389 Date d'inscription dimanche 8 février 2015 Statut Membre Dernière intervention 4 novembre 2022 8
Modifié par corentin.bc le 24/06/2016 à 09:39
Bon, je sèche.
Voici mes codes en espérant que vous pourrez m'aider :

la partie de ma page d'accueil incluant le script :
<noscript>
<h2>Mais, quelles sont l'heure et la date actuelles ?</h2>
<p>Vous devez activer JavaScript pour accéder à ce contenu.</p>
</noscript>
<script type="text/javascript" src="/scripts/date_script.js"></script>


le script en question :
/*
Source : http://www.editeurjavascript.com
Adaptation : http://www.outils-web.com
Amélioration: Équipe Accessibilité Programmes
  • /


function HeureCheckEJS() {
var mois=new Array(13);
mois[1]="Janvier";
mois[2]="Février";
mois[3]="Mars";
mois[4]="Avril";
mois[5]="Mai";
mois[6]="Juin";
mois[7]="Juillet";
mois[8]="Août";
mois[9]="Septembre";
mois[10]="Octobre";
mois[11]="Novembre";
mois[12]="Décembre";
var time=new Date();
var month=mois[time.getMonth() + 1];
var date=time.getDate();
var year=time.getYear();
if (year < 2000)
year = year + 1900;
document.getElementById("date_container").innerHTML="Nous sommes le "+date+" "+month+" "+year;

var krucial = new Date;
var heure = krucial.getHours();
var min = krucial.getMinutes();
var sec = krucial.getSeconds();
var jour = krucial.getDate();
var mois = krucial.getMonth()+1;
var annee = krucial.getFullYear();
if (sec < 10)
sec0 = "0";
else
sec0 = "";
if (min < 10)
min0 = "0";
else
min0 = "";
if (heure < 10)
heure0 = "0";
else
heure0 = "";
DinaHeure = heure0 + heure + ":" + min0 + min + ":" + sec0 + sec;
which = DinaHeure
if (document.getElementById){
document.getElementById("ejs_heure").innerHTML=which;
}
setTimeout("HeureCheckEJS()", 1000)
}

function showJSD() {
jsd = document.getElementsByClassName("jsd");
i = 0;
while(i < jsd.length) {
jsd[i].style.display = "block";
i ++;
}
HeureCheckEJS();
}

window.onload = showJSD;


la page sur ma zone dev :
https://dev.accessibiliteprogrammes.fr/accueil.php

que dois-je faire pour que ça s'affiche convenablement ?

Merci.

Amicalement! 
Corentin.
0