javascript - 任何想法如何优化我的小 Jquery 代码的菜单?

标签 javascript jquery html css


我有 3 个隐藏的 div(#carta1、#carta2 和#carta3)(显示:无),每个都有不同的信息。当用户越过导航栏时,会显示相应的 div。
它工作正常,但我认为它的代码太多了。有什么方法可以让它更简单(例如只使用 1 个功能)?

感谢您的帮助!

这是我的 Jquery 代码:

$("#frueh, #carta1").hover(function (e) {
        e.preventDefault();
        $("#carta1").stop().fadeIn();   
     }, 
        function(){
        $("#carta1").stop().fadeOut(750);
});



$("#sup, #carta2").hover(function (e) {
        e.preventDefault();
        $("#carta2").stop().fadeIn(); 
     }, 
        function(){
        $("#carta2").stop().fadeOut(500);
});


$("#sal, #carta3").hover(function (e) {
        e.preventDefault();
        $("#carta3").stop().fadeIn();   
     }, 
        function(){
        $("#carta3").stop().fadeOut(750);
});

这是 Html 列表:

<ul id="speise">
                <li><a id="frueh"  href="">Frühstück</a></li>
                <li><a id="sup"    href="">Suppen</a></li>
                <li><a id="sal"    href="">Salate</a></li>
</ul>

最佳答案

thataustin 的答案很有效,另一种选择是将目标定位到您的 ul child ,然后从事件中获取 id。 像这样的东西:

$("#speise > li > a").hover(function (e) {
    e.preventDefault();
    alert(e.target.id);
 });

然后您可以制作数据标签或进一步定位子项以执行您想要的操作,具体取决于位置 #carta1 , #carta2 , 和 #carta3位于。

同样,Austin 的答案更易于实现和阅读,仅供思考。

关于javascript - 任何想法如何优化我的小 Jquery 代码的菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27259951/

相关文章:

javascript - 对数复杂度 : Either the book has a typo or what's happening here?

javascript - 在未知宽度容器中居中未知宽度对象

javascript - JQuery 悬停函数超时

html - Microsoft IE/Edge 上缩放的 div 溢出

javascript - 管理多个显示/隐藏 div

html - 调整父div中的多个div显示

javascript - 选择正确的技术(SVG 与 Canvas)

javascript - 我只得到一次数据库输出,但没有再得到一次。为什么这不起作用?

javascript - 如何获取样式以 "string"开头的所有元素的计数

php - 在 Websocket 中添加自定义数据