图片的切换效果有很多,比较常见的有水平滚动、垂直滚动、淡入淡出等。我们接下来一一实现这些效果。

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】图片切换效果整理的更多相关文章

  1. Jquery实现图片切换效果(IE,FF,Goole)都可以正常运行

    这里先对标签的样式进行设置(我这里只用了3张图片,可以根据自己的情况,添加) <style type="text/css"> /*展示图片切换的div样式*/ #Sho ...

  2. jQuery实现多种切换效果的图片切换的五款插件

    1:Nivo SliderNivoslider:丰富的图片切换效果 官方网址:https://themeisle.com/plugins/nivo-slider 查看演示:https://www.he ...

  3. jquery简单的图片切换效果,支持pc端、移动端的banner图片切换开发

    详细内容请点击 无意中看见了两年前写的一个图片切换,那会儿刚刚学习网页制作,可以说是我的第一个处女座的jquery图片切换效果.无聊之余对它的宽度稍稍做了一下修改,变成了支持pc端.手机端全屏的ban ...

  4. 10款好用的 jQuery 图片切换效果插件

    jQuery 是一个非常优秀的 Javascript 框架,使用简单灵活,同时还有许多成熟的插件可供选择.其中,最令人印象深刻的应用之一就是对图片的处理,它可以让帮助你在你的项目中加入一些让人惊叹的效 ...

  5. jquery带按钮的图片切换效果

    <!doctype html> <html> <head> <meta charset="gb2312"> <title> ...

  6. js鼠标滚轮滚动图片切换效果

    效果体验网址:http://keleyi.com/keleyi/phtml/image/12.htm HTML文件代码: <!DOCTYPE html PUBLIC "-//W3C// ...

  7. 精致3D图片切换效果,最适合企业产品展示

    这是一个精致的立体图片切换效果,特别适合企业产品展示,可立即用于实际项目中.支持导航和自动播放功能, 基于 CSS3 实现,推荐使用最新的 Chrome,Firefox 和 Safari 浏览器浏览效 ...

  8. 18款 非常实用 jquery幻灯片图片切换

    1.jquery图片滚动仿QQ商城带左右按钮控制焦点图片切换滚动 jquery图片特效制作仿腾讯QQ商城首页banner焦点图片轮播切换效果,带索引按钮控制和左右按钮控制图片切换. 查看演示>& ...

  9. jquery实现图片切换和js实现图片切换

    jquery实现图片切换: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...

随机推荐

  1. 001_JavaScript学习

    1,面向对象,事件驱动 2,动态,交互性 3,解释性语言,非强(弱)类型变量:不用声明,解释时检查类型 4,区分大小写,嵌入html,句尾加分号,可以独立保存为一个外部文件,但其中不能包含<sc ...

  2. P1120 小木棍 [数据加强版] 回溯法 终极剪枝

    题目描述 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过5050. 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度. 给出每段小木棍的长度 ...

  3. Python 豆瓣mv爬取

    爬取网址:https://www.dbmeinv.com/       豆瓣mv(现已更名) 注:自制力不好的同学,先去准备营养快线! import requests from bs4 import ...

  4. 20165220预备作业3 Linux安装及学习

    首先对于这第三次作业而言,给我的准备时间确实不多,因为过年回老家6天,没有办法及时的进行学习和思考,回到家中便草草的看了下相关操作跟教程从而完成了作业,这次主要是学习一些基础操作,为开学的Java学习 ...

  5. c#一步一步实现ORM

    本篇适合新手了解学习orm.欢迎指正,交流学习. 现有的优秀的orm有很多. EF:特点是高度自动化,缺点是有点重. Nhibnate:缺点是要写很多的配置. drapper:最快的orm.但是自动化 ...

  6. SpringMvc请求处理流程与源码探秘

    流程梳理 dispatcherServlet作为前端控制器的主要作用就是接受请求与处理响应. 不过它不是传统意义上的servlet,它在接受到请求后采用转发的方式,将具体工作交给专业人士去做. 参与角 ...

  7. OSFPv3的配置

    实验目的 1.  掌握 OSPFv3 的配置方法 2.  掌握在帧中继环境下 OSPFv3 的配置方法 3.  掌握 OSPFv3 NSSA 的配置方法 4.  掌握外部路由汇总的配置 5.  掌握区 ...

  8. jarvis OJ WEB题目writeup

    0x00前言 发现一个很好的ctf平台,题目感觉很有趣,学习了一波并记录一下 https://www.jarvisoj.com 0x01 Port51 题目要求是用51端口去访问该网页,注意下,要用具 ...

  9. "放管服"改革 清单

    全国31个省份已全部公布省级部门权力清单,29个省份公布了责任清单:已有57个国务院部门公布了权力清单:自贸试验区的负面清单已从2013年的193项减至目前的122项…… 2013年以来,党中央.国务 ...

  10. LR特征维数特别大实时计算问题

    美团 https://tech.meituan.com/machinelearning-data-feature-process.html 维数灾难 待续...