基于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 相关文章推荐
JS面向对象编程之对象使用分析
Aug 19 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
Dec 20 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
Feb 02 Javascript
JS实现跟随鼠标的链接文字提示框效果
Aug 06 Javascript
JavaScript常用标签和方法总结
Sep 01 Javascript
AngularJS实现Model缓存的方式
Feb 03 Javascript
Javascript基础回顾之(二) js作用域
Jan 31 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
Jun 19 Javascript
浅谈vue2 单页面如何设置网页title
Nov 08 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
Jan 24 Javascript
Vue.js 无限滚动列表性能优化方案
Dec 02 Javascript
Vue-cli3生成的Vue项目加载Mxgraph方法示例
May 31 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
获取URL文件名后缀
2013/10/24 PHP
Linux下安装PHP MSSQL扩展教程
2014/10/24 PHP
php 基础函数
2017/02/10 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
jquery 弹出登录窗口实现代码
2009/12/24 Javascript
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
Jquery Autocomplete 结合asp.net使用要点
2010/10/29 Javascript
js中eval详解
2012/03/30 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
JavaScript实现弹出子窗口并传值给父窗口
2014/12/18 Javascript
JavaScript获取URL汇总
2015/06/08 Javascript
JS模拟键盘打字效果的方法
2015/08/05 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
2016/09/08 Javascript
jquery插件bootstrapValidator表单验证详解
2016/12/15 Javascript
使用JavaScript为一张图片设置备选路径的方法
2017/01/04 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
2017/07/05 Javascript
Node.js中出现未捕获异常的处理方法
2020/06/29 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
python的exec、eval使用分析
2017/12/11 Python
python3.5绘制随机漫步图
2018/08/27 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
Python错误的处理方法
2020/06/23 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
面向新手解析python Beautiful Soup基本用法
2020/07/11 Python
python 两种方法删除空文件夹
2020/09/29 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
idealfit英国:世界领先的女性健身用品和运动衣物品牌
2017/11/25 全球购物
欧洲最古老的鞋厂:Peter Kaiser
2019/11/05 全球购物
公司司机岗位职责
2014/02/07 职场文书
财务会计自荐信范文
2014/02/21 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
普通党员自我剖析材料
2014/10/07 职场文书
大学生创业事迹材料
2014/12/30 职场文书
党员志愿者服务倡议书
2015/04/29 职场文书