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:;
padding:;
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
jQuery实现鼠标移入切换图片的更多相关文章
- 用jQuery实现鼠标移动切换图片动画
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- CSS3鼠标移入移出图片生成随机动画
今天分享使用html+css3+少量jquery实现鼠标移入移出图片生成随机动画,我们先看最终效果图(截图为静态效果,做出来可是动态的哟) 左右旋转 上下移动 缩放 由于时间关系我就不一步步解析各段代 ...
- 原生JS—实现图片循环切换及监测鼠标滚动切换图片
今天我们主要讲讲如何使用原生JS实现图片的循环切换的方法以及如何检测鼠标滚动循环切换图片.多余的话我们就不多说了,我们一个一个开始讲吧. 1 原生JS实现图片循环切换 -- 方法一 在上栗子之前我们 ...
- CSS实现鼠标移入时图片的放大效果以及缓慢过渡
transform:scale()可以实现按比例放大或者缩小功能. transition可以设置动画执行的时间,实现缓慢或者快速的执行动画,效果图如下: 源码: <!DOCTYPE html&g ...
- jquery实现鼠标移入移除背景图片切换
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【方法】jQuery无插件实现 鼠标拖动切换图片/内容 功能
前言 我就想随便叨逼叨几句,爱看就看几句,不爱看就直接跳过看正文就好啦~ 这个方法是仿写页面时我自己研究出来,可能有比我更简单的方法. 但我不管,因为我没查我不知道,我就觉得我的最好啦,耶耶耶~ 效果 ...
- WPF之鼠标滑动切换图片
在网上找了一会儿也没找到我想要的效果,还是自己动手,丰衣足食吧. 需求:当前面板中只显示一张图片,图片栏的下部有用来显示当前图片处于图片队列中的位置的圆球,并且点击下部栏内的圆球可以快速切换,附动画缓 ...
- Javascript和jquery事件-鼠标移入移出事件
javascript使用mouseover和mouseout,只在css中支持hover jquery支持mouseover和mouseout,封装了mouseenter.mouseleave事件函数 ...
- jQuery实现鼠标滑过图片列表加遮罩层
这个例子实现的功能是:有一列图片列表,鼠标滑过时,将有遮罩层的另一张图盖在该图片的上方,实现鼠标hover的效果. 一.HTML代码: <div class="home-content ...
随机推荐
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-测试类中调用封装的mock(10)
封装mock后,在单元测试中调用 # -*- coding: utf-8 -*- # @Time : 2020/2/11 8:35 # @File : test_class_10.py.py # @A ...
- mongo的基本命令操作
基本用法学习:https://www.runoob.com/mongodb/mongodb-create-database.html MongoDB数据库基本用法 show dbs:显示数据库列表 s ...
- C语言学习笔记之动态分配数组空间
本文为原创文章,转载请标明出处 高级语言写多了,再拿起C语言的时候,自己已经傻了... C语言中数组大小不能为变量,即使这个变量已经被赋过值了,应该使用malloc方法进行数组空间动态分配. 如下: ...
- 吴裕雄--天生自然HTML学习笔记:HTML 布局
网页布局对改善网站的外观非常重要. 请慎重设计您的网页布局. <!DOCTYPE html> <html> <head> <meta charset=&qu ...
- django应用的测试
本文章默认用户使用win10系统,并且已经安装pycharm.git.django2.2.5及配套第三方库(python3.6.0及以上版本,且为anaconda环境) 前言 其实在上一期django ...
- nodejs日常总结
1.node -v 查看当前node版本 2.npm root -g 查看npm安装路径(还有通过npm安装的vue-cli的路径) 默认: /usr/local/lib/node_modules r ...
- JSP最终学习笔记
一.jsp基础1.JSP概念 Servlet是j2ee提供的动态资源开发技术,是以java的程序的形式进行开发,在java中书写HTML标签是一件十分头疼的事情,所以人们开发出了JSP,看起来像是HT ...
- O2O倒逼汽车行业改革:服务超越销售成重心
汽车作为越来越普及的出行工具,已经进入千家万户.与其他家具.家电.服饰等产品不同,从新车销售到售后保养.保险购买.维修乃至报废阶段,都能细分化,形成一个个潜力巨大的垂直领域.而随着互联网元素的渗入,汽 ...
- Python——1变量和数据类型(内含其他知识点链接)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- 下一代网际协议IPv6
下一代网际协议IPv6 一.解决 IP 地址耗尽的措施 从计算机本身发展以及从因特网规模和网络传输速率来看,现在 IPv4 已很不适用. 最主要的问题就是 32 位的 IP 地址不够用. 在 2019 ...