用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 相关文章推荐
ext实现完整的登录代码
Aug 08 Javascript
Javascript实现滑块滑动改变值的实现代码
Apr 12 Javascript
PHP中CURL的几个经典应用实例
Jan 23 Javascript
JavaScript动态添加事件之事件委托
Jul 12 Javascript
如何在JS中实现相互转换XML和JSON
Jul 19 Javascript
JQuery ZTree使用方法详解
Jan 07 Javascript
详解vue slot插槽的使用方法
Jun 13 Javascript
vue 实现小程序或商品秒杀倒计时
Apr 14 Javascript
Vue export import 导入导出的多种方式与区别介绍
Feb 12 Javascript
Vue 监听元素前后变化值实例
Jul 29 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
Nov 12 Javascript
如何使用CocosCreator对象池
Apr 14 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之生成GIF动画的实现方法
2013/06/07 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
为调试JavaScript添加输出窗口的代码
2010/02/07 Javascript
JS修改css样式style浅谈
2013/05/06 Javascript
JS cookie中文乱码解决方法
2014/01/28 Javascript
js实现的点击div区域外隐藏div区域
2014/06/30 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
js控制文本框输入的字符类型方法汇总
2015/06/19 Javascript
js表单验证实例讲解
2016/03/31 Javascript
JS实现可编辑的后台管理菜单功能【附demo源码下载】
2016/09/13 Javascript
jQuery实现页面顶部下拉广告
2016/12/30 Javascript
Node.js 8 中的 util.promisify的详解
2017/06/12 Javascript
详解vue前后台数据交互vue-resource文档
2017/07/19 Javascript
微信通过页面(H5)直接打开本地app的解决方法
2017/09/09 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
electron-vue开发环境内存泄漏问题汇总
2019/10/10 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
基于react项目打包css引用路径错误解决方案
2020/10/28 Javascript
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
Python在图片中添加文字的两种方法
2017/04/29 Python
Python3实现的简单验证码识别功能示例
2018/05/02 Python
解决Pandas的DataFrame输出截断和省略的问题
2019/02/08 Python
Pytorch 多维数组运算过程的索引处理方式
2019/12/27 Python
Jupyter notebook如何修改平台字体
2020/05/13 Python
利用Python实现Json序列化库的方法步骤
2020/09/09 Python
canvas 绘图时位置偏离的问题解决
2020/09/16 HTML / CSS
送给他或她的礼物:FUN.com
2018/08/17 全球购物
职业规划书如何设计?
2014/01/09 职场文书
军训自我鉴定
2014/01/22 职场文书
职业培训师职业生涯规划
2014/02/18 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技