【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开发需要的配置文件
1,applicationContext-dao.xml <?xml version="1.0" encoding="UTF-8"?><bea ...
- ceil()函数的应用-hdu1065
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1065 题目描述: floor(x) is the largest integer not great ...
- 【python】面向对象编程
No1: 类和实例 __init__方法的第一个参数永远是self,表示创建的实例本身:init相当于构造函数 No2: 数据封装 No3: 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下 ...
- 64位 windows10下 Apache2.4 + php7 + phpstorm 相关设置
64位 windows10下 Apache2.4 + php7 + phpstorm 相关设置 转 https://blog.csdn.net/laurencechan/article/deta ...
- 【nodejs】--express的中间件multer实现图片文件上传--【XUEBIG】
Multer是nodejs中处理multipart/form-data数据格式(主要用在上传功能中)的中间件.该中间件不处理multipart/form-data数据格式以外的任何形式的数据 Tips ...
- MongoDB+php7搭建
0x00前言: 今天一位非计算机专业的朋友问我怎么打开.bson文件,我第一反应.bson文件是什么,网上查了下是mongodb的传输文件.也就是类似于mysql的.sql文件一样 之前看过mongo ...
- P2347 砝码称重-DP方案数-bitset
P2347 砝码称重 DP做法 : 转化为 01背包. 进行方案数 更新.最后统计种类. #include<bits/stdc++.h> using namespace std; #def ...
- 自定义sshd服务
1.安装rsyslog服务和sshd服务并启动 2.配置日志文件 vim /etc/rsyslog.conf 在里面添加一行 local*. /var/log/sshd.lo ...
- ASP.NET MVC 常用路由总结
1.URL模式 路由系统用一组路由来实现它的功能,这些路由共同组成了应用系统URL架构或方案,这种URL架构是应用程序能够识别并能对之做出响应的一组URL,当处理一个输入 请求时,路由系统的工作是将这 ...
- redis+mysql
redis和mysql要根据具体业务场景去选型 mysql:数据放在磁盘 redis:数据放在内存 redis适合放一些频繁使用,比较热的数据,因为是放在内存中,读写速度都非常快,一般会应用在下面 ...