jQuery 菜单小练习(实现点击和移动鼠标效果)

                这个代码的练习是点击事件后 如何用jQuery联动的方式找到相关标签

实现的结果是点击菜单一或者菜单二等 会出现相关菜品,并隐藏其他菜品.鼠标移动才菜品上会在右侧框内出现相关菜品的价格.实现特殊的效果.

 

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6     <script src="jquery-3.2.1.js"></script>
 7     <style>
 8         *{
 9             margin: 0;
10         }
11         #left{
12             float: left;
13             font-size: 21px;
14             height: 600px;
15             color: brown;
16             width: 25%;
17         }
18         #right{
19             float: left;
20             font-size: 40px;
21             height: 600px;
22             background-color: darkcyan;
23             color: gold;
24             width: 75%;
25             text-align: center;
26             line-height: 600px;
27         }
28         .menu1,.menu2,.menu3{
29             background-color: #224ba2;
30             height: 200px;
31         }
32         #left p{
33             background-color: #276b8b;
34             height: 58px;
35             line-height: 60px;
36             text-align: center;
37             font-size: 20px;
38             color: black;
39         }
40         .show p{
41             display: none;
42         }
43         .show{
44             display: none;
45         }
46         #no1{
47             color: red;
48         }
49         #no2{
50             color: #48f444;
51         }
52     </style>
53 </head>
54 <body>
55     <div id="left">
56         <div class="menu1" onclick="touch(this)">菜单一
57             <div class="show" a="no1" onmouseover="money(this)">
58                 <p>红 烧 鱼</p>
59                 <p>啤 酒 鸭</p>
60                 <p>土 豆 丝</p>
61             </div>
62         </div>
63         <div class="menu2" onclick="touch(this)">菜单二
64             <div class="show" a="no2" onmouseover="money(this)">
65                 <p>螃  蟹</p>
66                 <p>鱿  鱼</p>
67                 <p>大  虾</p>
68             </div>
69         </div>
70         <div class="menu3 " onclick="touch(this)">菜单三
71             <div class="show" a="no3" onmouseover="money(this)">
72                 <p>炒  面</p>
73                 <p>炒  饭</p>
74                 <p>混  沌</p>
75             </div>
76         </div>
77     </div>
78 
79     <div id="right">
80         <div id="no1" class="show">菜单1 --- 总价 $588$</div>
81         <div id="no2" class="show">菜单2 ---总价 $888$</div>
82         <div id="no3" class="show">菜单3 ---总价 $188$</div>
83     </div>
84 <script>
85     function touch(ev) {
86         $(ev).children("div").removeClass("show");          //首先要分析HTML表树 先找到 孩子里的DIV删除有show的属性
87         $(ev).siblings("div").children("div").addClass("show"); // 然后找到同级的div下的div里加上show的css属性
88 
89     }
90     function money(ev) {
91         s=$(ev).attr("a");                                        //  拿到鼠标移动到事件的a属性值,
92         $("#"+s).removeClass("show").siblings().addClass("show"); //  然后通过值找到相关的div标签 进行操作 删除SHOW的css
93                                                                     //并且找到除了他自己的兄弟 都补充加上show的css
94                                                                    //这个函数的关键是如何用属性的值来把2个不相干的地方给有效的联动起来
95     }
96 </script>
97 </body>
98 </html>

 

posted @ 2017-12-14 15:33  归来仍是少年!  阅读(407)  评论(0编辑  收藏  举报