前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >原生javascript实现图片轮播效果代码

原生javascript实现图片轮播效果代码

作者头像
李海彬
发布2018-03-19 16:22:12
3.7K0
发布2018-03-19 16:22:12
举报
文章被收录于专栏:Golang语言社区Golang语言社区

前几天用jquery做了一个JS的图片轮播效果,现在用原生的javascript代码实现同样的功能,当练习用吧,代码写得不是很满意。 看到BlueDream在他博客上写的javascript仿QQ滑动菜单的效果,代码实在是优雅,相比较差别一下就凸显了,下次再把他代码的精髓偷过来,嘿嘿。 【原理简述】 html和css跟JQuery实现图片轮播效果里面的一样,略去。主要是几个公共函数,渐显和渐失,用闭包实现。至于主体逻辑部分,非常一般。 【程序源码】 贴几个公共函数算了,fadeIn,渐显,fadeOut,渐失

代码语言:javascript
复制
function id(name) {return document.getElementById(name);} 

//遍历函数 

function each(arr, callback) { 

if (arr.forEach) {arr.forEach(callback);} 

else { 

for (var i = 0, len = arr.length; i < len; i++) callback.call(this, arr[i], i, arr);} 

} 

function fadeIn(elem) { 

setOpacity(elem, 0) 

for ( var i = 0; i < 20; i++) { 

(function() { 

var pos = i * 5; 

setTimeout(function() { 

setOpacity(elem, pos) 

}, i * 25); 

})(i); 

} 

} 

function fadeOut(elem) { 

for ( var i = 0; i <= 20; i++) { 

(function() { 

var pos = 100 - i * 5; 

setTimeout(function() { 

setOpacity(elem, pos) 

}, i * 25); 

})(i); 

} 

} 

// 设置透明度 

function setOpacity(elem, level) { 

if (elem.filters) { 

elem.style.filter = "alpha(opacity=" + level + ")"; 

} else { 

elem.style.opacity = level / 100; 

} 

}

复制代码

【调用方法】 //count:图片数量,wrapId:包裹图片的DIV,ulId:按钮DIV,infoId:信息栏 babyzone.scroll(count,wrapId,ulId,infoId); babyzone.scroll(4,"banner_list","list","banner_info"); 【源码下载】 /201009/yuanma/scroll_babyzone.rar

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档