简化我的 JS 代码
我刚刚为网站的菜单编写了这段代码。问题是我很确定它可以简化。
我不知道我是否可以使用开关或其他东西,我只是 Jquery 的初学者......
$(document).ready(function() {
/* Effet hover sur onglet Accueil */
$("#menu-top li a.accueil").mouseover(function() {
if (($("#menu-top li a.accueil").is(".active")) || ($("#menu-top li a.services").is(".active")) || ($("#menu-top li a.realisations").is(".active"))) {
return false;
} else {
$(this).removeClass("rightactive");
$(this).addClass("righthover");
}
$("#menu-top li a.accueil")}).mouseout(function(){
if (($("#menu-top li a.accueil").is(".active")) || ($("#menu-top li a.services").is(".active")) || ($("#menu-top li a.realisations").is(".active"))) {
return false;
} else {
$(this).removeClass("righthover");
$(this).addClass("rightactive");
}
});
/* Effet hover sur onglet Entreprise */
$("#menu-top li a.entreprise").mouseover(function() {
if (($("#menu-top li a.entreprise").is(".active")) || ($("#menu-top li a.realisations").is(".active"))) {
return false;
} else if ($("#menu-top li a.services").is(".active")) {
$(this).removeClass("rightactive");
$(this).addClass("righthover");
} else {
$(this).removeClass("leftactive");
$(this).addClass("lefthover");
}
$("#menu-top li a.entreprise")}).mouseout(function(){
if (($("#menu-top li a.entreprise").is(".active")) || ($("#menu-top li a.realisations").is(".active"))) {
return false;
} else if ($("#menu-top li a.services").is(".active")) {
$(this).removeClass("righthover");
$(this).addClass("rightactive");
} else {
$(this).removeClass("lefthover");
$(this).addClass("leftactive");
}
});
/* Effet hover sur onglet Services */
$("#menu-top li a.services").mouseover(function() {
if (($("#menu-top li a.services").is(".active")) || ($("#menu-top li a.accueil").is(".active"))) {
return false;
} else if ($("#menu-top li a.realisations").is(".active")) {
$(this).addClass("righthover");
$(this).removeClass("rightactive");
} else {
$(this).removeClass("leftactive");
$(this).addClass("lefthover");
}
$("#menu-top li a.services")}).mouseout(function(){
if (($("#menu-top li a.services").is(".active")) || ($("#menu-top li a.accueil").is(".active"))) {
return false;
} else if ($("#menu-top li a.realisations").is(".active")) {
$(this).removeClass("righthover");
$(this).addClass("rightactive");
} else {
$(this).removeClass("lefthover");
$(this).addClass("leftactive");
}
});
/* Effet hover sur onglet Réalisations */
$("#menu-top li a.realisations").mouseover(function() {
if (($("#menu-top li a.realisations").is(".active")) || ($("#menu-top li a.accueil").is(".active")) || ($("#menu-top li a.entreprise").is(".active"))) {
return false;
} else {
$(this).removeClass("leftactive");
$(this).addClass("lefthover");
}
$("#menu-top li a.realisations")}).mouseout(function(){
if (($("#menu-top li a.realisations").is(".active")) || ($("#menu-top li a.accueil").is(".active")) || ($("#menu-top li a.entreprise").is(".active"))) {
return false;
} else {
$(this).removeClass("lefthover");
$(this).addClass("leftactive");
}
});
});
这是我的 html
<nav id="menu-top">
<ul>
<li><a href="index.php" class="accueil active">Accueil</a></li>
<li><a href="entreprise.php" class="entreprise leftactive">Entreprise</a></li>
<li><a href="services.php" class="services">Services</a></li>
<li><a href="realisations.php" class="realisations">Réalisations</a></li>
</ul>
</nav>
对此的任何帮助将不胜感激。
谢谢。
I just made this code for the menu of a site. The problem is that I'm pretty sure it can be simplified.
I don't know if I can use a switch or something, I am only beginner with Jquery ....
$(document).ready(function() {
/* Effet hover sur onglet Accueil */
$("#menu-top li a.accueil").mouseover(function() {
if (($("#menu-top li a.accueil").is(".active")) || ($("#menu-top li a.services").is(".active")) || ($("#menu-top li a.realisations").is(".active"))) {
return false;
} else {
$(this).removeClass("rightactive");
$(this).addClass("righthover");
}
$("#menu-top li a.accueil")}).mouseout(function(){
if (($("#menu-top li a.accueil").is(".active")) || ($("#menu-top li a.services").is(".active")) || ($("#menu-top li a.realisations").is(".active"))) {
return false;
} else {
$(this).removeClass("righthover");
$(this).addClass("rightactive");
}
});
/* Effet hover sur onglet Entreprise */
$("#menu-top li a.entreprise").mouseover(function() {
if (($("#menu-top li a.entreprise").is(".active")) || ($("#menu-top li a.realisations").is(".active"))) {
return false;
} else if ($("#menu-top li a.services").is(".active")) {
$(this).removeClass("rightactive");
$(this).addClass("righthover");
} else {
$(this).removeClass("leftactive");
$(this).addClass("lefthover");
}
$("#menu-top li a.entreprise")}).mouseout(function(){
if (($("#menu-top li a.entreprise").is(".active")) || ($("#menu-top li a.realisations").is(".active"))) {
return false;
} else if ($("#menu-top li a.services").is(".active")) {
$(this).removeClass("righthover");
$(this).addClass("rightactive");
} else {
$(this).removeClass("lefthover");
$(this).addClass("leftactive");
}
});
/* Effet hover sur onglet Services */
$("#menu-top li a.services").mouseover(function() {
if (($("#menu-top li a.services").is(".active")) || ($("#menu-top li a.accueil").is(".active"))) {
return false;
} else if ($("#menu-top li a.realisations").is(".active")) {
$(this).addClass("righthover");
$(this).removeClass("rightactive");
} else {
$(this).removeClass("leftactive");
$(this).addClass("lefthover");
}
$("#menu-top li a.services")}).mouseout(function(){
if (($("#menu-top li a.services").is(".active")) || ($("#menu-top li a.accueil").is(".active"))) {
return false;
} else if ($("#menu-top li a.realisations").is(".active")) {
$(this).removeClass("righthover");
$(this).addClass("rightactive");
} else {
$(this).removeClass("lefthover");
$(this).addClass("leftactive");
}
});
/* Effet hover sur onglet Réalisations */
$("#menu-top li a.realisations").mouseover(function() {
if (($("#menu-top li a.realisations").is(".active")) || ($("#menu-top li a.accueil").is(".active")) || ($("#menu-top li a.entreprise").is(".active"))) {
return false;
} else {
$(this).removeClass("leftactive");
$(this).addClass("lefthover");
}
$("#menu-top li a.realisations")}).mouseout(function(){
if (($("#menu-top li a.realisations").is(".active")) || ($("#menu-top li a.accueil").is(".active")) || ($("#menu-top li a.entreprise").is(".active"))) {
return false;
} else {
$(this).removeClass("lefthover");
$(this).addClass("leftactive");
}
});
});
It's my html
<nav id="menu-top">
<ul>
<li><a href="index.php" class="accueil active">Accueil</a></li>
<li><a href="entreprise.php" class="entreprise leftactive">Entreprise</a></li>
<li><a href="services.php" class="services">Services</a></li>
<li><a href="realisations.php" class="realisations">Réalisations</a></li>
</ul>
</nav>
Any help with this will be greatly appreciated.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我建议您可以将标签更改为类似以下内容:
在 javascript 中,您可以有一个名为 rels 的哈希表来放置链接之间的所有复杂依赖关系
当您想要更改依赖关系或添加更多依赖关系时,您可以简单地调整 rels ,而不是改很多代码。
I suggest that you could change the tags to something like:
In the javascript, you can have a hash table called rels to put all the complicated dependencies between your links
When you want to change the dependencies or add more, you can simply adjust the rels, instead of changing a lot of codes.