zoukankan      html  css  js  c++  java
  • jQuery实现鼠标移入切换图片

    初始效果: 鼠标移入效果:

    首先添加jQuery库,我这边直接引用百度CDN地址

     <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> 

    写一个jQuery载入事件

     $(function(){});//因为HTML文档是由浏览器从上到下依次载入的,载入事件能避免JavaScript代码放在太后面而没效果 

    载入事件里面写鼠标移入<li>标签调用的方法

     $('#left>li,#right>li').mouseenter(function(){});//#left>li选择器是获取左边的<li>标签,同理#right>li获取的是右边的<li>标签,mouseenter是鼠标移入被选元素触发的事件 

    获取当前被选元素的索引

     var i=$(this).index();//index() 方法返回指定元素相对于其他指定元素的 index 位置。 

    因为右边图片索引值需要加上左边图片的数量才能正确显示所有需要加个判断是左边元素被选还是右边

     if($(this).parent().attr("id")=="right"){
                        i+=4;
                    }if($(this).parent().attr("id")=="right"){
                        i+=4;
                    }//当前元素的父元素id是为右边无序列表id的话索引值加4,parent() 方法返回被选元素的直接父元素,attr() 方法设置或返回被选元素的属性和值

    在中间显示对应的图片

     $("#center>li:not()").hide().eq(i).show();//因为所有的图片都加在了中间无序列表里里,所有需要先隐藏全部图片后显示需要的图片,:not(selector)去除所有与给定选择器匹配的元素,hide() 方法隐藏被选元素,:eq(index) 选取索引等于index 的元素,索引从0开始,show() 方法显示隐藏的被选元素。 

    整个jQuery代码

    <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
            <script>
                $(function() {
                    $('#left>li,#right>li').mouseenter(function() {
                        var i = $(this).index(); //index() 方法返回指定元素相对于其他指定元素的 index 位置。
                        if($(this).parent().attr("id")=="right"){
                            i+=4;
                        }//当前元素的父元素id是为右边无序列表id的话索引值加4,parent() 方法返回被选元素的直接父元素,attr() 方法设置或返回被选元素的属性和值
                        $("#center>li:not()").hide().eq(i).show();  //因为所有的图片都加在了中间无序列表里里,所有需要先隐藏全部图片后显示需要的图片,:not(selector)去除所有与给定选择器匹配的元素,hide() 方法隐藏被选元素,:eq(index) 选取索引等于index 的元素,索引从0开始,show() 方法显示隐藏的被选元素。
                       });//#left>li选择器是获取左边的<li>标签,同理#right>li获取的是右边的<li>标签,mouseenter是鼠标移入被选元素触发的事件
               }); //因为HTML文档是由浏览器从上到下依次载入的,载入事件能避免JavaScript代码放在太后面而没效果
            </script>
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>博客园(https://www.cnblogs.com)</title>
            <link rel="stylesheet" href="css/good2.0.css">
            <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
            <script>
                $(function() {
                    $('#left>li,#right>li').mouseenter(function() {
                        var i = $(this).index(); //index() 方法返回指定元素相对于其他指定元素的 index 位置。
                        if($(this).parent().attr("id")=="right"){
                            i+=4;
                        }//当前元素的父元素id是为右边无序列表id的话索引值加4,parent() 方法返回被选元素的直接父元素,attr() 方法设置或返回被选元素的属性和值
                        $("#center>li:not()").hide().eq(i).show();  //因为所有的图片都加在了中间无序列表里里,所有需要先隐藏全部图片后显示需要的图片,:not(selector)去除所有与给定选择器匹配的元素,hide() 方法隐藏被选元素,:eq(index) 选取索引等于index 的元素,索引从0开始,show() 方法显示隐藏的被选元素。
                       });//#left>li选择器是获取左边的<li>标签,同理#right>li获取的是右边的<li>标签,mouseenter是鼠标移入被选元素触发的事件
               }); //因为HTML文档是由浏览器从上到下依次载入的,载入事件能避免JavaScript代码放在太后面而没效果
            </script>
        </head>
        <body>
             <div class="wrapper">
          <ul id="left">
            <li><a href="#">雪地靴</a></li>
            <li><a href="#">冬裙</a></li>
            <li><a href="#">呢大衣</a></li>
            <li><a href="#">牛仔裤</a></li>
          </ul>
          <ul id="center">
            <li><a href="#"><img src="img/雪地靴.jpg"/></a></li>
            <li><a href="#"><img src="img/冬裙.jpg"/></a></li>
            <li><a href="#"><img src="img/呢大衣.jpg"/></a></li>
            <li><a href="#"><img src="img/牛仔裤.jpg"/></a></li>
            <li><a href="#"><img src="img/登山鞋.jpg"/></a></li>
            <li><a href="#"><img src="img/皮带.jpg"/></a></li>
            <li><a href="#"><img src="img/男毛衣.jpg"/></a></li>
            <li><a href="#"><img src="img/男棉服.jpg"/></a></li>
          </ul>
          <ul id="right">
            <li><a href="#">登山鞋</a></li>
            <li><a href="#">皮带</a></li>
            <li><a href="#">男毛衣</a></li>
            <li><a href="#">男棉服</a></li>
          </ul>
        </div>
        </body>
    </html>
    HTML源码
    * {
        margin: 0;
        padding: 0;
        font-size: 12px;
    }
    ul {
        list-style: none;
    }
    a {
        text-decoration: none;
    }
    .wrapper {
        width: 218px;
        height: 108px;
        margin: 100px auto 0;
        border: 1px solid pink;
        overflow: hidden;
    }
    #left, #center, #right {
        float: left;
    }
    #left li, #right li {
        background: url(../img/lili.jpg) repeat-x;
    }
    #left li a, #right li a {
        display: block;
        width: 48px;
        height: 27px;
        border-bottom: 1px solid pink;
        line-height: 27px;
        text-align: center;
        color: black;
    }
    #left li a:hover, #right li a:hover {
        color: #fff;
        background-image: url(../img/abg.gif);
    }
    #center {
        border-left: 1px solid pink;
        border-right: 1px solid pink;
    }
    img {
        width: 120px;
        height: 108px;
    }
    CSS
  • 相关阅读:
    性能优化随笔
    Linux文件类型及如何查看,修改文件读写权限
    ngx_pagespeed
    用U盘安装Linux系统的简单方法
    Maven 3 入门 安装与配置
    CentOS 6.2 安装教程
    各种代码文件中的注释格式
    Linux下的WebLogic安装部署
    Win8常用快捷键
    Jenkins入门总结
  • 原文地址:https://www.cnblogs.com/fishdive/p/12466128.html
Copyright © 2011-2022 走看看