用html+css+js实现的一个简单的图片切换特效


Posted in Javascript onMay 28, 2014

如图所示。

用html+css+js实现的一个简单的图片切换特效
该图片切换特效实现很简单,而且兼容性很好。

html页面如下

<div class="wrapper"> 
<div id="focus"> 
<ul> 
<li><a href="http://www.lanrentuku.com/" target="_blank"><img src="img/01.jpg" alt="QQ商城焦点图效果下载" /></a></li> 
<li><a href="http://www.lanrentuku.com/" target="_blank"><img src="img/02.jpg" alt="QQ商城焦点图效果教程" /></a></li> 
<li><a href="http://www.lanrentuku.com/" target="_blank"><img src="img/03.jpg" alt="jquery商城焦点图效果" /></a></li> 
<li><a href="http://www.lanrentuku.com/" target="_blank"><img src="img/04.jpg" alt="jquery商城焦点图代码" /></a></li> 
<li><a href="http://www.lanrentuku.com/" target="_blank"><img src="img/05.jpg" alt="jquery商城焦点图源码" /></a></li> 
</ul> 
</div> </div><!-- wrapper end --> 
</body>

css样式
<style type="text/css"> 
* {margin:0; padding:0;} 
body {font-size:12px; color:#222; font-family:Verdana,Arial,Helvetica,sans-serif; background:#f0f0f0;} 
.clearfix:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;} 
.clearfix {zoom:1;} 
ul,li {list-style:none;} 
img {border:0;} .wrapper {width:800px; margin:0 auto; padding-bottom:50px;} 
/* qqshop focus */ 
#focus {width:800px; height:280px; overflow:hidden; position:relative;} 
#focus ul {height:380px; position:absolute;} 
#focus ul li {float:left; width:800px; height:280px; overflow:hidden; position:relative; background:#000;} 
#focus ul li div {position:absolute; overflow:hidden;} 
#focus .btnBg {position:absolute; width:800px; height:20px; left:0; bottom:0; background:#000;} 
#focus .btn {position:absolute; width:780px; height:10px; padding:5px 10px; right:0; bottom:0; text-align:right;} 
#focus .btn span {display:inline-block; _display:inline; _zoom:1; width:25px; height:10px; _font-size:0; margin-left:5px; cursor:pointer; background:#fff;} 
#focus .btn span.on {background:#fff;} 
#focus .preNext {width:45px; height:100px; position:absolute; top:90px; background:url(img/sprite.png) no-repeat 0 0; cursor:pointer;} 
#focus .pre {left:0;} 
#focus .next {right:0; background-position:right top;} 
</style>

js脚本
$(function() { 
var sWidth = $("#focus").width(); //获取焦点图的宽度(显示面积) 
var len = $("#focus ul li").length; //获取焦点图个数 
var index = 0; 
var picTimer; //以下代码添加数字按钮和按钮后的半透明条,还有上一页、下一页两个按钮 
var btn = "<div class='btnBg'></div><div class='btn'>"; 
for(var i=0; i < len; i++) { 
btn += "<span></span>"; 
} 
btn += "</div><div class='preNext pre'></div><div class='preNext next'></div>"; 
$("#focus").append(btn); 
$("#focus .btnBg").css("opacity",0.5); 
//为小按钮添加鼠标滑入事件,以显示相应的内容 
$("#focus .btn span").css("opacity",0.4).mouseenter(function() { 
index = $("#focus .btn span").index(this); 
showPics(index); 
}).eq(0).trigger("mouseenter"); 
//上一页、下一页按钮透明度处理 
$("#focus .preNext").css("opacity",0.2).hover(function() { 
$(this).stop(true,false).animate({"opacity":"0.5"},300); 
},function() { 
$(this).stop(true,false).animate({"opacity":"0.2"},300); 
}); 
//上一页按钮 
$("#focus .pre").click(function() { 
index -= 1; 
if(index == -1) {index = len - 1;} 
showPics(index); 
}); 
//下一页按钮 
$("#focus .next").click(function() { 
index += 1; 
if(index == len) {index = 0;} 
showPics(index); 
}); 
//本例为左右滚动,即所有li元素都是在同一排向左浮动,所以这里需要计算出外围ul元素的宽度 
$("#focus ul").css("width",sWidth * (len)); 
//鼠标滑上焦点图时停止自动播放,滑出时开始自动播放 
$("#focus").hover(function() { 
clearInterval(picTimer); 
},function() { 
picTimer = setInterval(function() { 
showPics(index); 
index++; 
if(index == len) {index = 0;} 
},4000); //此4000代表自动播放的间隔,单位:毫秒 
}).trigger("mouseleave"); 
//显示图片函数,根据接收的index值显示相应的内容 
function showPics(index) { //普通切换 
var nowLeft = -index*sWidth; //根据index值计算ul元素的left值 
$("#focus ul").stop(true,false).animate({"left":nowLeft},300); //通过animate()调整ul元素滚动到计算出的position 
//$("#focus .btn span").removeClass("on").eq(index).addClass("on"); //为当前的按钮切换到选中的效果 
$("#focus .btn span").stop(true,false).animate({"opacity":"0.4"},300).eq(index).stop(true,false).animate({"opacity":"1"},300); //为当前的按钮切换到选中的效果 
} 
});

用到的左右切换图片

用html+css+js实现的一个简单的图片切换特效

Javascript 相关文章推荐
js 获取计算后的样式写法及注意事项
Feb 25 Javascript
深入理解JavaScript 闭包究竟是什么
Apr 12 Javascript
ExtJS4 表格的嵌套 rowExpander应用
May 02 Javascript
浅析使用BootStrap TreeView插件实现灵活配置快递模板
Nov 28 Javascript
Bootstrap3 模态框使用实例
Feb 22 Javascript
实例解析js中try、catch、finally的执行规则
Feb 24 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
Dec 24 Javascript
JS运动改变单物体透明度的方法分析
Jan 23 Javascript
React+Webpack快速上手指南(小结)
Aug 15 Javascript
javascript实现手动点赞效果
Apr 09 Javascript
原生JS封装拖动验证滑块的实现代码示例
Jun 01 Javascript
javascript实现雪花飘落效果
Aug 19 Javascript
HTML页面登录时的JS验证方法
May 28 #Javascript
22点关于jquery性能优化的建议
May 28 #Javascript
一个奇葩的最短的 IE 版本判断JS脚本
May 28 #Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
May 28 #Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
May 28 #Javascript
node.js Web应用框架Express入门指南
May 28 #Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
May 28 #Javascript
You might like
Symfony2在Nginx下的配置方法图文教程
2016/02/04 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
2007/08/13 Javascript
JavaScript脚本性能优化注意事项
2008/11/18 Javascript
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
使用firebug进行调试javascript的示例
2013/12/16 Javascript
javascript中expression的用法整理
2014/05/13 Javascript
Javascript基础知识(三)BOM,DOM总结
2014/09/29 Javascript
Javascript 高阶函数使用介绍
2015/06/15 Javascript
Js+php实现异步拖拽上传文件
2015/06/23 Javascript
jQuery实现分隔条左右拖动功能
2015/11/21 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
在vue项目中使用sass语法问题
2019/07/18 Javascript
解决Vue + Echarts 使用markLine标线(precision精度问题)
2020/07/20 Javascript
[02:54]DOTA2英雄基础教程 暗影牧师戴泽
2013/12/05 DOTA
[05:15]DOTA2英雄梦之声_第16期_灰烬之灵
2014/06/21 DOTA
python列表去重的二种方法
2014/02/14 Python
使用Python中的greenlet包实现并发编程的入门教程
2015/04/16 Python
用tensorflow构建线性回归模型的示例代码
2018/03/05 Python
python 通过字符串调用对象属性或方法的实例讲解
2018/04/21 Python
python筛选出两个文件中重复行的方法
2018/05/31 Python
Python通过类的组合模拟街道红绿灯
2020/09/16 Python
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
元旦促销方案
2014/03/15 职场文书
安全生产大检查方案
2014/05/07 职场文书
廉洁校园实施方案
2014/05/25 职场文书
结对共建协议书
2014/08/20 职场文书
优秀纪检干部材料
2014/08/27 职场文书
公安机关党的群众路线教育实践活动剖析材料
2014/10/10 职场文书
青岛导游词
2015/02/12 职场文书
后勤个人工作总结
2015/02/28 职场文书
公务员保密工作承诺书
2015/05/04 职场文书