基于jquery实现鼠标滚轮驱动的图片切换效果


Posted in Javascript onOctober 26, 2015

jQuery可以制作出与Flash媲美的动画效果,这点绝对毋庸置疑,本文将通过实例演示一个基于鼠标滚轮驱动的图片切换效果。

基于jquery实现鼠标滚轮驱动的图片切换效果

本例实现的效果:
鼠标滚轮滚动时图片进行切换。
支持键盘方向键实现图片切换效果。
支持点击图片切换,支持点击当前图片链接。
进度条滑块展示图片图片数量进度。

XHTML

<div class="demo"> 
 <div id="imageflow"> 
 <div id="loading"><img src="images/loader.gif" alt="loading" /></div> 
 <div id="captions"></div> 
 <div id="images"> 
 <img src="images/s1.jpg" alt="image1" /> 
 <img src="images/s2.jpg" alt="image2" /> 
 <img src="images/s3.jpg" alt="image3" /> 
 <img src="images/s4.jpg" alt="image4" /> 
 </div> 
 <div id="scrollbar"> 
 <div id="slider"></div> 
 </div> 
 </div> 
</div>

div.demo是最外面的一层,包含了整个滚动效果所需的所有元素。#imageflow是必需的,且与其内部包含的元素的ID名称不能修改,如确实要修改,就要先定义或直接修改JS代码了。#loading用来装载一个加载动画的图片,当然你也可以直接写成"loading"或其他文字。#captions用来显示图片的标题。#images放置所要滚动切换的图片,数量不限。#scrollbar就是展示图片的进度条。#slider是一个滑块,当切换图片时,滑块会滑动到相应的位置,以展示图片数量的位置。
CSS

.demo { width:860px; height:300px; margin:20px auto; position:relative; background:#e8f5fe; overflow:hidden } 
#images { margin:20px 0 0 60px; width:860px } 
#images img { position:absolute; margin-top:-160px } 
#loading { margin:0; color:#fff; text-align:center } 
#loading img { position:ralative; margin:0 } 
#captions { position:relative; height:24px; line-height:24px; top:100px; left:320px; background:url(images/cap_bg.png) no-repeat center center; color:#fff; font-weight:bold; text-align:center; z-index:10000 } 
#scrollbar { position:relative; top:-100px; height:2px; z-index:10001 background:#abcd3a url(images/scroll.gif) repeat-x; 
} 
#slider { position:absolute; width:15px; height:4px; margin:-1px 0 0 -1px; background:url(images/bar.gif) no-repeat; z-index:10002 }

CSS是整个效果实现的关键部分,如果CSS控制不好,将得不到你要的效果。
.demo设置了宽度和高度,并设置position:relative和overflow:hidden,目的是为了让鼠标滑轮滚动作用的范围限制在.demo里。#images设置了margin值,并对内部的img设置了相对定位。#captions设置了用来显示图片标题的样式,注意我使用半透明的图片cap_bg.png作为背景图片,在IE6下不支持透明的png图片,所以你要进行相关的处理。接下来看滚动进度条和滑块的设置,都运用的定位和深度设置,为何要这样设置,只有大家去慢慢测试才会知道其中的奥妙。
引入jquery库和滑动js文件

<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript" src="js/imageflow.js"></script>

所有的js动作都在imageflow.js完成,我只做了略微的改动,大家可以直接使用。
现在可以看到效果了吧。但是还有问题:
图片连接地址如何获取?
最终的效果应该是点击当前展示的图片时,会连接到一个页面,用来展示该图片相关的详细信息。那么这个链接地址如何获取,大概在第252行开始有这样两行代码:

image.url = image.getAttribute("longdesc"); 
image.ondblclick = function() { document.location = this.url; }

可以看出,图片的链接地址来源于它的属性:longdesc,当单击图片的时候,页面将会跳转到相应的地址页面。好现在我们回到刚开始的XHTML代码,只需给每张图片指定longdesc属性,并将值设为对应的网页地址。如:

<img src="images/s1.jpg" alt="image1" longdesc="#" />

现在,任务算是完成了。看完本例你会发现,你根本不需要些一句jquery代码,因为imageflow都已经完成了所有的操作代码。

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
jquery复选框CHECKBOX全选、反选
Aug 30 Javascript
学习ExtJS(二) Button常用方法
Oct 07 Javascript
纯JavaScript实现的完美渐变弹出层效果代码
Apr 02 Javascript
jQuery 1.7.2中getAll方法的疑惑分析
May 23 Javascript
JavaScript对象学习经验整理
Oct 12 Javascript
JQuery选择器、过滤器大整理
May 26 Javascript
js中跨域方法原理详解
Jul 19 Javascript
ajax如何实现页面局部跳转与结果返回
Aug 24 Javascript
jquery中关于bind()方法的使用技巧分享
Mar 30 jQuery
Vue from-validate 表单验证的示例代码
Sep 26 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
Aug 25 Javascript
在vue里使用codemirror遇到的问题
Nov 01 Javascript
JavaScript编程中window的location与history对象详解
Oct 26 #Javascript
jquery移动端TAB触屏切换实现效果
Dec 22 #Javascript
基于jQuery实现搜索关键字自动匹配功能
Mar 26 #Javascript
以Python代码实例展示kNN算法的实际运用
Oct 26 #Javascript
Windows下用PyCharm和Visual Studio开始Python编程
Oct 26 #Javascript
php利用curl获取远程图片实现方法
Oct 26 #Javascript
jQuery.trim() 函数及trim()用法详解
Oct 26 #Javascript
You might like
浅析关于PHP位运算的简单权限设计
2013/06/30 PHP
试用php中oci8扩展
2015/06/18 PHP
PHP获取文件扩展名的4种方法
2015/11/24 PHP
php框架知识点的整理和补充
2021/03/01 PHP
XHTML下,JS浮动代码失效的问题
2009/11/12 Javascript
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
基于jQuery的动态表格插件
2011/03/28 Javascript
Javascript中拼接大量字符串的方法
2015/02/05 Javascript
jQuery插件pagination实现无刷新分页
2016/05/21 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
2017/05/22 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
微信小程序下拉框功能的实例代码
2018/11/06 Javascript
基于JS实现简单滑块拼图游戏
2019/10/12 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
python数据类型_元组、字典常用操作方法(介绍)
2017/05/30 Python
Python元字符的用法实例解析
2018/01/17 Python
Python代码块批量添加Tab缩进的方法
2018/06/25 Python
基于python3监控服务器状态进行邮件报警
2019/10/19 Python
python中K-means算法基础知识点
2021/01/25 Python
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
html5记忆翻牌游戏实现思路及代码
2013/07/25 HTML / CSS
俄罗斯最大的隐形眼镜销售网站:Ochkov.Net
2021/02/07 全球购物
环境科学专业个人求职的自我评价
2013/11/28 职场文书
调解员先进事迹材料
2014/02/07 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
幼儿教师年度个人总结
2015/02/05 职场文书
2015年检验员工作总结范文
2015/04/30 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书
JS封装cavans多种滤镜组件
2022/02/15 Javascript
怎么禁用Win11输入法 最新Win11输入法关闭教程
2022/08/05 数码科技