【jQuery Demo】图片切换效果整理
图片的切换效果有很多,比较常见的有水平滚动、垂直滚动、淡入淡出等。我们接下来一一实现这些效果。
1.水平滚动
1) 我们先来实现HTML页面,代码很简单:
<div id="container">
<ul class="slider">
<li><img src="../imgs/Girls/04.png"/></li>
<li><img src="../imgs/Girls/05.jpg"/></li>
<li><img src="../imgs/Girls/14.jpg"/></li>
<li><img src="../imgs/Girls/17.jpg"/></li>
<li><img src="../imgs/Girls/20.jpg"/></li>
</ul>
<ul class="thumb">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
2)然后我们设置下CSS:
/** CSS Reset **/
body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td { margin:; padding:; }
body, button, input, select, textarea { font: 12px/1.5 tahoma, arial, \5b8b\4f53; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; }
address, cite, dfn, em, var { font-style: normal; }
code, kbd, pre, samp { font-family: couriernew, courier, monospace; }
small { font-size: 12px; }
ul, ol { list-style: none; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }
sup { vertical-align: text-top; }
sub { vertical-align: text-bottom; }
legend { color: #000; }
fieldset, img { border:; }
button, input, select, textarea { font-size: 100%; }
table { border-collapse: collapse; border-spacing:; }
/* container */
#container { width: 320px; height: 456px; overflow: hidden; position: relative; margin: 20px auto; }
.slider { position: absolute; }
.slider img { width: 320px; display: block; }
.thumb { position: absolute; bottom: 5px; right: 5px; }
.thumb li { float: left; color: #FF7300; text-align: center; line-height: 16px; width: 16px; height: 16px; font-size: 12px; font-family: Arial; margin: 3px 1px; border: 1px solid #FF7300; background: #fff; cursor: pointer; }
.thumb li:hover,.thumb li.selected { color: #fff; line-height: 16px; width: 16px; height: 16px; font-size: 16px; background: #EF7300; font-weight: bold; }
目前的显示效果如下:

3)接下来,我们需要点击实现图片的切换,下面是实现水平滚动效果的jQuery插件:
;(function ($) {
$.fn.extend({
scrollHorizontal:function () {
var imgCount = $(".slider li").length;
var imgWidth = $(".slider li").eq(0).width();
$(".thumb li").eq(0).addClass("selected");
for (var i=0;i<imgCount;i++){
$(".slider li").eq(i).css({
"left":i*imgWidth+"px",
"position":"absolute"
});
}
// 初始化
$(".thumb li").click(function () {
var theIndex = $(this).index();
var nowIndex = $(".selected").index();
var leftWidth = imgWidth*(nowIndex-theIndex);
$(".thumb li").removeClass("selected");
$(".thumb li").eq(theIndex).addClass("selected");
$(".slider li").animate({left:"+="+leftWidth });
});
}
});
})(jQuery);
4)最后,我们在HTML页面调用这个插件:
<script>
$(document).ready(function () {
$("#container").scrollHorizontal();
})
</script>
5)这样效果就出来了:

2.垂直滚动
上面实现了水平滚动,那垂直滚动就简单了。通过获取图片的高度,然后控制 top 的值就可以了。新建的jQuery插件如下:
;(function ($) {
$.fn.extend({
scrollVertical:function () {
var imgCount = $(".slider li").length;
var imgHeight = $(".slider li").eq(0).height();
$(".thumb li").eq(0).addClass("selected");
for (var i=0;i<imgCount;i++){
$(".slider li").eq(i).css({
"top":i*imgHeight+"px",
"position":"absolute"
});
}
// 初始化
$(".thumb li").click(function () {
var theIndex = $(this).index();
var nowIndex = $(".selected").index();
var topHeight = imgHeight*(nowIndex-theIndex);
$(".thumb li").removeClass("selected");
$(".thumb li").eq(theIndex).addClass("selected");
$(".slider li").animate({top:"+="+topHeight });
});
}
});
})(jQuery);
然后调用这个插件就可以了:
<script>
$(document).ready(function () {
$("#container").scrollVertical();
})
</script>
效果如下:

3.淡入淡出
同样淡入淡出也就很好实现了:
;(function ($) {
$.fn.extend({
fadeInOut:function () {
var imgCount = $(".slider li").length;
var imgHeight = $(".slider li").eq(0).height();
$(".thumb li").eq(0).addClass("selected");
for (var i=1;i<imgCount;i++){
$(".slider li").eq(i).css({
"display":"none"
});
}
$(".thumb li").click(function () {
var theIndex = $(this).index();
var nowIndex = $(".selected").index();
$(".thumb li").removeClass("selected");
$(".thumb li").eq(theIndex).addClass("selected");
$(".slider li").eq(nowIndex).fadeOut();
$(".slider li").eq(theIndex).fadeIn();
});
}
});
})(jQuery);
效果如下:

【jQuery Demo】图片切换效果整理的更多相关文章
- Jquery实现图片切换效果(IE,FF,Goole)都可以正常运行
这里先对标签的样式进行设置(我这里只用了3张图片,可以根据自己的情况,添加) <style type="text/css"> /*展示图片切换的div样式*/ #Sho ...
- jQuery实现多种切换效果的图片切换的五款插件
1:Nivo SliderNivoslider:丰富的图片切换效果 官方网址:https://themeisle.com/plugins/nivo-slider 查看演示:https://www.he ...
- jquery简单的图片切换效果,支持pc端、移动端的banner图片切换开发
详细内容请点击 无意中看见了两年前写的一个图片切换,那会儿刚刚学习网页制作,可以说是我的第一个处女座的jquery图片切换效果.无聊之余对它的宽度稍稍做了一下修改,变成了支持pc端.手机端全屏的ban ...
- 10款好用的 jQuery 图片切换效果插件
jQuery 是一个非常优秀的 Javascript 框架,使用简单灵活,同时还有许多成熟的插件可供选择.其中,最令人印象深刻的应用之一就是对图片的处理,它可以让帮助你在你的项目中加入一些让人惊叹的效 ...
- jquery带按钮的图片切换效果
<!doctype html> <html> <head> <meta charset="gb2312"> <title> ...
- js鼠标滚轮滚动图片切换效果
效果体验网址:http://keleyi.com/keleyi/phtml/image/12.htm HTML文件代码: <!DOCTYPE html PUBLIC "-//W3C// ...
- 精致3D图片切换效果,最适合企业产品展示
这是一个精致的立体图片切换效果,特别适合企业产品展示,可立即用于实际项目中.支持导航和自动播放功能, 基于 CSS3 实现,推荐使用最新的 Chrome,Firefox 和 Safari 浏览器浏览效 ...
- 18款 非常实用 jquery幻灯片图片切换
1.jquery图片滚动仿QQ商城带左右按钮控制焦点图片切换滚动 jquery图片特效制作仿腾讯QQ商城首页banner焦点图片轮播切换效果,带索引按钮控制和左右按钮控制图片切换. 查看演示>& ...
- jquery实现图片切换和js实现图片切换
jquery实现图片切换: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...
随机推荐
- TopCoder SRM500 Div1 1000 其他
原文链接https://www.cnblogs.com/zhouzhendong/p/SRM500-1000.html SRM500 Div1 1000 设 \(v_1,v_2,\cdots ,v_9 ...
- [转,讲的非常精彩]CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍)
http://blog.csdn.net/dan15188387481/article/details/49873923 CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍) 1. ...
- day 50 js-part1基础语法,数据类型及用法,流程控制语句,循环
js基本概念: JavaScript 是世界上最流行的脚本语言. JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用. JavaScript ...
- es6的分析总结
1,var let const对比 1,箭头函数的总结 /** * 1,箭头函数没有this,箭头函数this没有被箭头的函数,所以不能使用call,apply,bind改变this指向 * 2,箭头 ...
- hexo添加404公益界面
http://hellolb.top/2018/08/16/hexo添加404公益界面/ hexo个人博客添加404公益界面,这里我使用的腾讯404公益界面 我的博客主题是hexo+yilia,其实所 ...
- Jenkins部署码云SpringBoot项目到远程服务器
本文是上一篇文章的后续,上一篇只是利用Jenkins部署项目到本地,并启动,本文是将项目部署到远程服务器并执行. 1.环境准备 1.1 安装插件 上一篇文章已经介绍了需要安装的应用及插件,这一篇还需要 ...
- 并发编程之I/O模型
1.I/O模型介绍 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个 ...
- vue(v-html)和scss的使用问题
<!--temp是一组p标签--> <div class="lyric-container" v-html="temp"></di ...
- C - Rikka with Badminton --- HDU 6425 快速幂加组合数学
---恢复内容开始--- 题目链接: https://vjudge.net/problem/1812693/origin 这题的mod运算很恶心,真的... 本题有正反两个思路,一个是正面求解其不能成 ...
- Python datetime与timestamp之间的转换
# !!!! Python 2 datetime.datetime 对象没有timestamp方法! 在用Python处理datetime和timestamp的转换时发现在时区方面,Python的处理 ...