用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 相关文章推荐
jquery $.ajax各个事件执行顺序
Oct 15 Javascript
Jquery 模板数据绑定插件的使用方法详解
Jul 08 Javascript
IE中的File域无法清空使用jQuery重设File域
Apr 24 Javascript
js获取数组的最后一个元素
Apr 14 Javascript
js+HTML5实现视频截图的方法
Jun 16 Javascript
JS模仿手机端九宫格登录功能实现代码
Apr 28 Javascript
javascirpt实现2个iframe之间传值的方法
Jun 30 Javascript
JavaScript实现简单的拖动效果
Jul 02 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
Aug 23 Javascript
ES6入门教程之Class和Module详解
May 17 Javascript
jQuery复合事件用法示例
Jun 10 jQuery
JS实现简易留言板增删功能
Feb 08 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
PHP文件上传原理简单分析
2011/05/29 PHP
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
2011/08/09 PHP
php文件操作实例代码
2012/05/10 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
2014/07/01 PHP
Symfony2创建页面实例详解
2016/03/18 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
分享5个非常有用的Laravel Blade指令
2018/05/30 PHP
jquery图片放大功能简单实现
2013/08/01 Javascript
javascript结合ajax读取txt文件内容
2014/12/05 Javascript
node.js中的path.dirname方法使用说明
2014/12/09 Javascript
node.js解决获取图片真实文件类型的问题
2014/12/20 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/15 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
2017/09/16 Javascript
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
bootstrap table插件动态加载表头
2019/07/19 Javascript
js+canvas实现纸牌游戏
2020/03/16 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
Python3写入文件常用方法实例分析
2015/05/22 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
2017/04/19 Python
Python 多进程并发操作中进程池Pool的实例
2017/11/01 Python
python微信跳一跳系列之棋子定位像素遍历
2018/02/26 Python
django js实现部分页面刷新的示例代码
2018/05/28 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
Python csv模块使用方法代码实例
2019/08/29 Python
Python 装饰器原理、定义与用法详解
2019/12/07 Python
Python如何读写字节数据
2020/08/05 Python
详解HTML5 window.postMessage与跨域
2017/05/11 HTML / CSS
eBay澳大利亚站:eBay.com.au
2018/02/02 全球购物
优秀通讯员事迹材料
2014/01/28 职场文书
反四风对照检查材料
2014/09/22 职场文书