• jQuery----淘宝商品展示(类似与tab切换)


    实现效果如图:

                   

    功能需求:

    ①鼠标进入商品名称,商品名称变色,同时对应的物品展示图片显示对应的物品,鼠标移出时候,商品名称恢复原来的颜色

    实现分析:

    1.HTML+CSS页面结构如下:

    页面结构设计中,需要注意的知识点:

    ①商品li设置边框时候,只设置下边框

    ②三个列表之间的分割线,使用id为center的ul 的border-right、border-left属性

    ③超出大盒子的部分使用overflow:hidden

    代码如下:

      1 <!DOCTYPE html>
      2 <html>
      3     <head>
      4         <meta charset="utf-8">
      5         <title>淘宝精品服饰展示</title>
      6         
      7         <style type="text/css">
      8             *{
      9                 padding: 0px;
     10                 margin: 0px;
     11                 font-size: 12px;
     12             }
     13             ul{
     14                 list-style: none;
     15             }
     16             a{
     17                 text-decoration: none;
     18                 color: black;
     19             }
     20             .wrapper{
     21                  298px;
     22                 height: 248px;
     23                 margin: 100px auto 0;
     24                 border: 1px solid pink;
     25                 overflow: hidden;
     26             }
     27             .wrapper ul{
     28                 float: left;
     29             }
     30             
     31             #left li,#right li{
     32                 background: url(images/lili.jpg) repeat-x;
     33                  48px;
     34                 height: 27px;
     35                 line-height: 27px;
     36                 text-align: center;
     37                 display: block;
     38                 border-bottom: 1px solid pink;
     39             }
     40             
     41             #left li:hover,#right li:hover{
     42                 background: url(images/abg.gif) repeat-x;
     43             }
     44             
     45             #center{
     46                 border-left: 1px solid pink;
     47                 border-right: 1px solid pink;
     48                 
     49             }
     50         </style>
     51         
     52         <script src="js/jquery-1.12.2.js" type="text/javascript" charset="utf-8"></script>
     53         <script type="text/javascript">
     54             $(function(){
     55                 //获取左侧列表中所有的li,注册鼠标进入事件
     56                 $("#left>li").mouseover(function(){
     57                     //获取鼠标当前进入的li的索引
     58                     var index=$(this).index();
     59                     //除了当前的li,其他兄弟li全部隐藏
     60                     $("#center>li:eq("+index+")").siblings("li").hide();
     61                     $("#center>li:eq("+index+")").show();
     62                 });
     63                 //获取右侧列表中所有的li,注册鼠标进入事件
     64                 $("#right>li").mouseover(function(){
     65                     var index=$(this).index()+9;
     66                     $("#center>li:eq("+index+")").siblings("li").hide();
     67                     $("#center>li:eq("+index+")").show();
     68                 });
     69             });
     70         </script>
     71     </head>
     72     <body>
     73         <div class="wrapper">
     74             <ul id="left">
     75                 <li><a href="#">女靴</a></li>
     76                 <li><a href="#">雪地靴</a></li>
     77                 <li><a href="#">冬裙</a></li>
     78                 <li><a href="#">呢大衣</a></li>
     79                 <li><a href="#">毛衣</a></li>
     80                 <li><a href="#">棉服</a></li>
     81                 <li><a href="#">女裤</a></li>
     82                 <li><a href="#">羽绒服</a></li>
     83                 <li><a href="#">牛仔裤</a></li>
     84             </ul>
     85             
     86             <ul id="center">
     87                 <li><a href="#"><img src="images/女靴.jpg" height="248px"></a></li>
     88                 <li><a href="#"><img src="images/雪地靴.jpg" height="248px"></a></li>
     89                 <li><a href="#"><img src="images/冬裙.jpg" height="248px"></a></li>
     90                 <li><a href="#"><img src="images/呢大衣.jpg" height="248px"></a></li>
     91                 <li><a href="#"><img src="images/毛衣.jpg" height="248px"></a></li>
     92                 <li><a href="#"><img src="images/棉服.jpg" height="248px"></a></li>
     93                 <li><a href="#"><img src="images/女裤.jpg" height="248px"></a></li>
     94                 <li><a href="#"><img src="images/羽绒服.jpg" height="248px"></a></li>
     95                 <li><a href="#"><img src="images/牛仔裤.jpg" height="248px"></a></li>
     96                 <li><a href="#"><img src="images/女包.jpg" height="248px"></a></li>
     97                 <li><a href="#"><img src="images/男包.jpg" height="248px"></a></li>
     98                 <li><a href="#"><img src="images/登山鞋.jpg" height="248px"></a></li>
     99                 <li><a href="#"><img src="images/皮带.jpg" height="248px"></a></li>
    100                 <li><a href="#"><img src="images/围巾.jpg" height="248px"></a></li>
    101                 <li><a href="#"><img src="images/皮衣.jpg" height="248px"></a></li>
    102                 <li><a href="#"><img src="images/男毛衣.jpg" height="248px"></a></li>
    103                 <li><a href="#"><img src="images/男棉服.jpg" height="248px"></a></li>
    104                 <li><a href="#"><img src="images/男靴.jpg" height="248px"></a></li>
    105             </ul>
    106             
    107             <ul id="right">
    108                 <li><a href="#">女包</a></li>
    109                 <li><a href="#">男包</a></li>
    110                 <li><a href="#">登山鞋</a></li>
    111                 <li><a href="#">皮带</a></li>
    112                 <li><a href="#">围巾</a></li>
    113                 <li><a href="#">皮衣</a></li>
    114                 <li><a href="#">男毛衣</a></li>
    115                 <li><a href="#">男棉服</a></li>
    116                 <li><a href="#">男靴</a></li>
    117             </ul>
    118         </div>
    119     </body>
    120 </html>

    jQuery实现思路:

    ①分别获取左侧列表、右侧列表中所有的li,注册鼠标进入事件

    $( "#left>li" ).mouseover( function(){ } );//左侧

    $( "#right>li" ),mouseover( function(){ } );//右侧

    ②获取鼠标当前进入的li的index

    var index=$( this ).index(); //该方法获取元素的index

    ③右侧元素的index需要上述index+9,因为中间图片是所有的图片放在一起,而左右的li是分开放置,为了获得li对应的图片,需要给右侧li的索引加上左侧li的数量

    ④鼠标进入的li的图片显示,其他的图片隐藏

    $( "#center>li:eq("+index+“)" ).siblings("li").hide();

    $( "#center>li:eq("+index+")").show();

    注意:siblings("标签名字")  获取选中标签的所有的兄弟标签

    所需素材下载地址:https://pan.baidu.com/s/11qXxk8uXgDe4JoBMw5__Rg

    注意路径的配合  images与html页面应该为同一等级文件夹

  • 相关阅读:
    揭开Future的神秘面纱——任务取消
    阻塞队列和生产者-消费者模式
    ExecutorService——<T> Future<T> submit(Callable<T> task)
    ExecutorService接口概要
    Executor简介
    使用显式的Lock对象取代synchronized关键字进行同步
    SingleThreadExecutor(单线程执行器)
    后台线程(daemon)
    加入一个线程
    计算机网络的一些英文缩写词
  • 原文地址:https://www.cnblogs.com/WangYujie1994/p/10277395.html
Copyright © 2020-2023  润新知