用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 相关文章推荐
html 锁定页面(js遮罩层弹出div效果)
Oct 27 Javascript
javscript对象原型的一些看法
Sep 19 Javascript
js导出table到excel同时兼容FF和IE示例
Sep 03 Javascript
Jquery的hide及toggle方法让超链接慢慢消失
Sep 06 Javascript
基于js与flash实现的网站flv视频播放插件代码
Oct 14 Javascript
JS对象与json字符串格式转换实例
Oct 28 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
Mar 18 Javascript
JavaScript代码实现图片循环滚动效果
Mar 19 Javascript
JavaScript数组操作函数汇总
Aug 05 Javascript
省市区三级联动jquery实现代码
Apr 15 Javascript
基于Vue的移动端图片裁剪组件功能
Nov 28 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
Nov 01 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
laravel 数据验证规则详解
2019/10/23 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
2020/04/20 PHP
jquery api参考 visualjquery 中国线路 速度快
2007/11/30 Javascript
Javascript this关键字使用分析
2008/10/21 Javascript
一个简单的js树形菜单
2011/12/09 Javascript
理解JavaScript的prototype属性
2012/02/11 Javascript
document.write的几点使用心得
2014/05/14 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
director.js实现前端路由使用实例
2015/02/03 Javascript
jquery图片切换实例分析
2015/04/15 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
微信小程序 swiper组件轮播图详解及实例
2016/11/16 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
AngularJS 的$timeout服务示例代码
2017/09/21 Javascript
sublime text配置node.js调试(图文教程)
2017/11/23 Javascript
vue实现点击关注后及时更新列表功能
2018/06/26 Javascript
JavaScript实现移动端弹窗后禁止滚动
2020/05/25 Javascript
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
[55:23]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
简介Python中用于处理字符串的center()方法
2015/05/18 Python
Python实现批量读取word中表格信息的方法
2015/07/30 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
python配置grpc环境
2019/01/01 Python
Python进阶之全面解读高级特性之切片
2019/02/19 Python
详解Python给照片换底色(蓝底换红底)
2019/03/22 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
vscode 配置 python3开发环境的方法
2019/09/19 Python
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
网络工程师职业规划
2014/02/10 职场文书
三八妇女节活动总结
2014/05/04 职场文书
交通志愿者活动总结
2014/06/27 职场文书
高校师德师风自我剖析材料
2014/09/29 职场文书
门面房租房协议书
2014/12/01 职场文书
小学英语教学经验交流材料
2015/11/02 职场文书
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL
python中pd.cut()与pd.qcut()的对比及示例
2022/06/16 Python