【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 ...
随机推荐
- Spring(六)Spring执行流程
Spring MVC工作流程图 Spring工作流程描述 1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获: 2. DispatcherS ...
- TF:TF分类问题之MNIST手写50000数据集实现87.4%准确率识别:SGD法+softmax法+cross_entropy法—Jason niu
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data # number 1 to 10 ...
- 00-JAVA语法基础--动手动脑
1.运行EnumTest.java,并分析结果,得出结论. 其源代码以及运行结果截图如下: 枚举类型的常量以字符串的形式顺序储.源代码中s和t不是原始数据类型.getCLass():取得当前对象所属的 ...
- UVA 12108 Extraordinarily Tired Students
思路: ①用结构体stu,属性有清醒时间,睡眠时间,开始处于的时间,状态(醒着还是睡着), 还有计数器. ②二维数组存表格. ③在确定接下来要进入的状态之后,就一次把表格里持续状态的数据都修改掉,比如 ...
- easyui中对数据的判断来显示,formatter控制
需求效果图:(把编辑按钮根据信息是否发布,来选择显示与不显示,已发布的不能够进行编辑所以不显示) 上图中的flag为发布标识,flag值1为已发布,值2为未发布 思路:第一想到的是给这个button按 ...
- 2109 ACM 排序
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2109 题意:简单的排序问题 代码: #include<cstdio> #include< ...
- Scrapy基础(十二)————异步导出Item数据到Mysql中
异步导出数据到Mysql中 上次说过从Item中同步写入数据库,因为网络的下载速度和数据库的I/O速度是不一样的所以有可能会发生下载快,但是写入数据库速度慢,造成线程的堵塞:关于堵塞和非堵塞,同步和异 ...
- React使用Styled-Componets来添加样式
React使用Styled-Componets来添加样式 Styled-Comonents是用JS中ES6 语法的方式来管理CSS样式的一个组件,解决了在import CSS文件时样式重复 安装 项目 ...
- React生命周期函数详解
React生命周期函数 生命周期函数是指在某一个周期自动执行的函数. React中的生命周期执行过程 以下是React中的常用的生命周期函数,按个部分中按照自动执行顺序列出,这几个过程可能存在同时进行 ...
- BZOJ4267 : 小强的颜色
首先剔除$1$号心情不能到达的无用心情,然后采用分割法进行DFA的最小化. 每次遍历所有集合,将集合中和集合中第一个心情行为或者转移所在集合不同的心情放入新集合中. 最后按字典序依次给每个集合编号即可 ...