11499 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Dans mon projet j'ai plusieurs bloc(div) que j'aimerais faire fonctionner d'une manière d'un slideshow.
Tous ont une class="bloc_js".display="none";et un seul en display="bloc";. J'aimerais sélectionner l'élément actif dit, display="bloc".

et j'ai essayé:
var blocJs = $('.bloc_js').display="block";

function openboxEnterprise2()
{
	if(blocJs)
	{
		$('#cloud').display="none";
	}
}


Mais il ne se passe rien je bloque la dessus.


Voici mon html:

<div id="menu_js">
  <span class="text_js"><a href="#" onclick="openboxEnterprise1()">Cloud</a></span>
  <span class="text_js"><a href="#" onclick="openboxEnterprise2()">Exchange</a></span>
  <span class="text_js">Webmail</span>
</div>
<div class="bloc_js" id="cloud">
	1
</div>
<div class="bloc_js" id="exchange" >
	2
</div>


Je vous remercie d'avance.
Modifié par gamenumi (09 Sep 2013 - 11:16)
Bonjour,

Je ne comprend pas bien ce que tu souhaites faire, mais si tu veux afficher le contenu "#cloud" lorsque tu cliques sur "Cloud" (en lancant la fonction "openboxEnterprise1()" ) il y a un erreur à ce niveau :


function openboxEnterprise2()
{
	if(blocJs)
	{
                //juste ici
		//$('#cloud').display="none";
		$('#cloud').display="block";
	}
}


Je te conseille d'opter pour une fonction générique :

<span class='link' id='link_1' onclick='openContent(1)'>lien 1</span>
<span class='link' id='link_2' onclick='openContent(2)'>lien 2</span>

<div class='content' id='content_1'>blabla</div>
<div class='content' id='content_2'>bloblo</div>



function openContent(num){
     $('.content').hide(); // ou .display = 'none';
     id = num.split('_')[1];
     $('#content_'+id).show(); //.display = 'block';
}
Voilà exactement,

C'est dans cette optique la que je voyais les choses.
Cela dit le:
$('.content').hide(); 
fonctione très bien.
La ou il y'a un soucis c'est l'autre partit.


id = num.split('_')[1];
$('#content_'+id).show();


Lorsque je clique sur un des liens le bloc voulu ne s'affiche pas.
J'ai cru penser que c'etait parce qu'il y avais 2 underscore:

id = num.split('_')[1];
et aussi $('#content_'+id).show();

Mais finalement ça ne fonctionne toujours pas. Mais sinon merci beaucoup c'est comme ça que je voyais les choses.
Voila j'ai réussi,

Donc pour le code j'ai fait:
function openContent(num){
     $('.content').hide(); // ou .display = 'none';
     $('#content_'+num).show(); //.display = 'block';
}


J'ai pas tout à fait saisis à quoi servait la fonction split mais je vais regarder ça.
Merci de m'avoir mis sur la voie. Smiley biggrin Smiley biggrin Smiley biggrin
Bravo ! \o/

Autant pour moi ; je me suis basé sur l'id ensuite (c'est ce que j'ai l'habitude de faire en jquery et de lancer la fonction à partir d'un event) du coup tu n'as pas besoin de spliter le numéro retourné car c'est déjà le bon ^^ !