资源大全_资源网 登录

首页  php  jsp  js  java  python  .net  H5  asp  易语言  C#   jQuery  游戏  微信小程序  插件

您当前的位置:首页 > js

原生javascript封装的焦点图(幻灯片)效果一

2021-01-21 23:01:50  35资源网(www.35d.net)
  js
下载本资源原文网址:http://www.daima.org/js/js17353.html
最近想对网站上比较常用的效果都用原生的代码做一个整理和封装,前一阵做了个弹出层,那么就接着热炒热卖,今天刚好还在中秋放假期间,就顺便按照以前常用的思路,写了个焦点图播放效果。
  恩,说到焦点图,网上可是一搜一大堆,基本上随便打开一个网站首页,百分之八九十都能看到类似的效果,不管是轮播的,淡入淡出的,或是其他更为复杂的效果....
恩恩,看了例子,下面函数调用的几个参数,引入js后,调用Hongru.slider.init(id, options)即可,参数id为要滚动的ul列表的父标签id,options为一个对象,可选参数有auto(自动滚动时间间隔秒数,为0时表示不自动滚动),vertical(true时垂直滚动,false横向滚动),navId(控制器的ul标签id),curClass(当前状态下控制器样式类名),index(表示初始化时从第几个开始,默认为0,表示从第一个开始),如下:
[code]
Hongru.slider.init('slider',{
auto:3,
vertical:1,
navId:'nav',
curClass:'nav',
index:0});
[/code]
另需要注意的一点,滚动内容和控制器都需要放在ul无序列表里。。。。
下面附上js源码:
[code]
var Hongru = {}, H$ = function(id){return document.getElementById(id)}, H$$ = function(c,p){return p.getElementsByTagName(c)}
Hongru.slider = function(){
return{
init:function(id,options){
var ul = this.u = H$$('ul',H$(id))[0], li = H$$('li',ul); this.l=li.length; this.index = 0;
if(options.navId&&options.curClass){this.nav = H$$('li',H$(options.navId)), this.c = options.curClass;}
this.a=options.auto||0; this.v=options.vertical||0;H$(id).style.overflow = 'hidden';H$(id).style.position = 'relative';ul.style.position='absolute';
if(this.v){ul.style.top=0; this.h=options.height||li[0].offsetHeight; ul.style.height=(this.l*this.h)+'px';}
else{ul.style.left=0; this.w=options.width||li[0].offsetWidth; ul.style.width=(this.l*this.w)+'px';}
this.pos(options.index||0,this.a?1:0);
},
pos:function(pos,a){
clearInterval(this.u.posAnim); clearInterval(this.u.auto);
var curPos=this.v?parseInt(this.u.style.top):parseInt(this.u.style.left),
correctPos=this.v?pos*this.h:pos*this.w,
direction = correctPos>Math.abs(curPos)?1:-1;
correctPos*=-1;
this.index = pos;
if(this.nav){for(var i=0;i<this.l;i++){this.nav[i].className = i==pos?this.c:''}}
this.u.posAnim = setInterval(function(){Hongru.slider.anim(correctPos,direction,a)},10);
},
anim:function(des,dir,a){
var curPos=this.v?parseInt(this.u.style.top):parseInt(this.u.style.left);
if(curPos == des){
clearInterval(this.u.posAnim);
if(a||this.a){Hongru.slider.auto()}
}
else{
var v=curPos-Math.ceil(Math.abs(des-curPos)*.07)*dir+'px';
this.v?this.u.style.top=v:this.u.style.left=v;
}
},
auto:function(){
this.u.auto=setInterval(function(){Hongru.slider.move(1,1)},this.a*1000)
},
move:function(n,a){
var num=this.index+n, i=n==1?num==this.l?0:num:num<0?this.l-1:num; Hongru.slider.pos(i,a);
}
};
}();
[/code]
最后还是提供源文件打包下载,感兴趣的同学可以下来看看,后面可能还会做淡入淡出或者其他过渡效果的焦点图。
下载地址: [ 下载地址1 ]  消耗积分:0分  [ 下载地址2 ]  消耗积分:0分
[ 下载地址3 ]  消耗积分:0分    
网盘密码 (密码:)
simScroll 用图片模拟滚动条效果的代码
javascript实现的网页TIPS无图片插件(3K)
赞助
相关代码
    无相关信息
最新代码
栏目热门
Tags: 微信小程序 源码 源码下载 HTML5游戏 92Game 整站源码 PHP 商业版 帝国CMS cms 完整版 网站源码 织梦模板 织梦 wordpress插件 下载 最新 html5源码 微信小程序源码 帝国CMS内核 带后台 微信公众号 DEDECMS HTML5 完整源码 微信 自动采集 完整版源码 ecshop 源代码 Thinkphp dede织梦模板 PHP+MYSQL 小程序 小程序源码 DESTOON6.0 搜客淘宝客 淘宝客 更新包合集 带手机版 整站 手机版 完整运营版 游戏 92 92kaifa 完整商业版源码 管理系统 dedecms模板 织梦CMS内核 带数据 电影网站 系统 多城市 生成静态 免费下载 一键安装版 系统源码 多多淘宝客 同步包
资源大全_资源下载网站:www.35d.net    本站资源仅限研究学习使用,如需商用请联系版权方,     本站事务联系QQ:939804642