2013-04-19 4 views
0

je dois changer l'ID Div « DIV01 » de l'Etat à la classe « en surbrillance » lorsque les charges de page.
S'il vous plaît voir le code ci-dessous:fonction JavaScript à la page charge

HTML:

<div id="div01"><a href="#" class="btn" onclick="roleActive(this);">user</a></div> 

JS:

var role; function roleActive(obj){ if (role) 
role.className = 'btn'; 
obj.className = 'highlight'; 
role = obj;} 

CSS:

.btn{ 
display:block; 
height:25px; 
width:100px; 
padding:5px 0px 0px 0px; 
text-align:center; 
font-size:16px;} 

.highlight{ 
cursor:default; 
display:block; 
height:25px; 
width:100px; 
padding:5px 0px 0px 0px; 
text-align:center; 
font-size:16px; 
background-color:#FFF; 
border-bottom:4px solid #F0AB00; 
color:#000; 
text-decoration:underline;} 

a.btn:link{background-color:#000;color:#FFF;} 
a.btn:visited{background-color:#000;color:#FFF;} 
a.btn:hover,active{background-color:#FFF;color:#000;text-decoration:underline; border-bottom:4px solid #F0AB00;} 

me aider de bien vouloir résoudre le problème.

Répondre

2

Essayez

<script> 
    window.onload = function(){ 
     roleActive(document.getElementById('div01').children[0]); 
    } 
</script> 
+0

J'ai essayé cette méthode, mais elle chevauche l'autre div. – Ankit

+0

@Ankit pouvez-vous recréer le problème à http://jsfiddle.net/arunpjohny/AVe9q/4/ –

+0

Merci beaucoup. Ça a vraiment marché pour moi :)
J'ai encore une requête mais c'est difficile à expliquer ici. Comment puis-je le créer en utilisant le fiddle.net – Ankit

1

essayer

window.onload = function(){ 
    document.getElementById('div01').className = 'highlight' 
} 

ou

<script> 
document.getElementById('div01').className = 'highlight' 
</script> 

ou

<script> 
exampleCall(); 
function exampleCall() 
{ 
document.getElementById('div01').className = 'highlight' 
} 
</script> 
+0

en utilisant cette fonction, la classe "** highlight **" est modifiée mais je peux toujours voir la classe "**. Btn **" en haut. – Ankit

1
document.addEventListener('DOMContentLoaded', function(){ 
    document.getElementById('div01').className = 'highlight'; 
}, false); 
0

Pour Javascript:

window.onload = function() { 
     document.getElementById('div01').className = 'highlight'; 
} 

Pour Jquery:

$(function() { 
    $('#div01').addClass('highlight'); 
}); 
0

Votre événement onclick envoie 'ceci' à la fonction, mais il est l'événement onclick du non du. Est-ce ce que vous vouliez?

Puisque vous n'utilisez pas la fonctionnalité de clic inhérente de l'alors je suggérerais de s'en débarrasser. Il suffit d'avoir l'événement click sur le, donc en cliquant dessus, il active roleActive() et applique les classes de manière appropriée.

Questions connexes