淘宝网站特效之轮播图.docx

上传人:b****6 文档编号:6728840 上传时间:2023-01-09 格式:DOCX 页数:8 大小:318.09KB
下载 相关 举报
淘宝网站特效之轮播图.docx_第1页
第1页 / 共8页
淘宝网站特效之轮播图.docx_第2页
第2页 / 共8页
淘宝网站特效之轮播图.docx_第3页
第3页 / 共8页
淘宝网站特效之轮播图.docx_第4页
第4页 / 共8页
淘宝网站特效之轮播图.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

淘宝网站特效之轮播图.docx

《淘宝网站特效之轮播图.docx》由会员分享,可在线阅读,更多相关《淘宝网站特效之轮播图.docx(8页珍藏版)》请在冰豆网上搜索。

淘宝网站特效之轮播图.docx

淘宝网站特效之轮播图

淘宝网站特效之轮展图制作与剖析

姓名:

张涛

学号:

1210831220

班级:

12信管2

日期:

2013年11月21日

轮播图介绍:

将需要展示的图片自动切换展示

轮播图示例:

过2两秒钟自动切换为下一张图片

每隔一段时间自动切换到下一张图片

轮播图的作用:

1.能引起用户的留意,成为眼球的焦点

2.轻易将网站当下高质量的内容推送给目标用户,能在第一时间内吸引用户的留意

3.用户第一眼的感官感慨感染,直接推送给他,对于我们留住有效用户所施展的作用长短非常大的

轮播图的制作:

原理就是通过不断设置滑动对象的left(水平切换)和top(垂直切换)来实现图片切换的动态效果。

首先需要一个容器,程序会自动设置容器overflow为hidden,如果不是相对或绝对定位会同时设置position为relative,

滑动对象会设置为绝对定位:

varp=CurrentStyle(this._container).position;

p=="relative"||p=="absolute"||(this._container.style.position="relative");this._container.style.overflow="hidden";this._slider.style.position="absolute";

如果没有设置Change切换参数属性,会自动根据滑动对象获取:

this.Change=this.options.Change?

this.options.Change:

this._slider[bVertical?

"offsetHeight":

"offsetWidth"]/this._count;

执行Run方法就会开始进入切换,其中有一个可选参数用来重新设置要切换的图片索引:

index==undefined&&(index=this.Index);

index<0&&(index=this._count-1)||index>=this._count&&(index=0);

之后就到设置使用tween缓动时需要的参数了,

包括_target(目标值)、_t(时间)、_b(初始值)和_c(变化量):

Code

还有Duration(持续时间)是自定义属性。

参数设置好后就执行Move程序开始移动了。

里面很简单,首先判断_c是否有值(等于0表示不需要移动)和_t是否到达Duration,

未满足条件就继续移动,否则直接移动到目标值并进行下一次切换:

Code

使用说明

实例化需要3个参数,分别是容器对象,滑动对象和切换数量,之后可以直接执行Run方法运行:

newSlideTrans("idContainer","idSlider",3).Run();

还有以下可选属性:

Vertical:

true,//是否垂直方向(方向不能改)

Auto:

true,//是否自动

Change:

0,//改变量

Duration:

50,//滑动持续时间

Time:

10,//滑动延时

Pause:

2000,//停顿时间(Auto为true时有效)

onStart:

function(){},//开始转换时执行

onFinish:

function(){},//完成转换时执行

Tween:

Tween.Quart.easeOut//tween算子

其中Vertical初始化后就不能修改,Tween算子可参照这里的缓动效果选择(实例中选了其中3个)。

还有提供了以下方法:

Next:

切换下一个

Previous:

切换上一个

Stop:

停止自动切换

还有上面说到的Run

程序代码:

var$$=function(id){

return"string"==typeofid?

document.getElementById(id):

id;

};

varExtend=function(destination,source){

for(varpropertyinsource){

destination[property]=source[property];

}

returndestination;

}

varCurrentStyle=function(element){

returnelement.currentStyle||document.defaultView.getComputedStyle(element,null);

}

varBind=function(object,fun){

varargs=Array.prototype.slice.call(arguments).slice

(2);

returnfunction(){

returnfun.apply(object,args.concat(Array.prototype.slice.call(arguments)));

}

}

varforEach=function(array,callback,thisObject){

if(array.forEach){

array.forEach(callback,thisObject);

}else{

for(vari=0,len=array.length;i

}

}

varTween={

Quart:

{

easeOut:

function(t,b,c,d){

return-c*((t=t/d-1)*t*t*t-1)+b;

}

},

Back:

{

easeOut:

function(t,b,c,d,s){

if(s==undefined)s=1.70158;

returnc*((t=t/d-1)*t*((s+1)*t+s)+1)+b;

}

},

Bounce:

{

easeOut:

function(t,b,c,d){

if((t/=d)<(1/2.75)){

returnc*(7.5625*t*t)+b;

}elseif(t<(2/2.75)){

returnc*(7.5625*(t-=(1.5/2.75))*t+.75)+b;

}elseif(t<(2.5/2.75)){

returnc*(7.5625*(t-=(2.25/2.75))*t+.9375)+b;

}else{

returnc*(7.5625*(t-=(2.625/2.75))*t+.984375)+b;

}

}

}

}

//容器对象,滑动对象,切换数量

varSlideTrans=function(container,slider,count,options){

this._slider=$$(slider);

this._container=$$(container);//容器对象

this._timer=null;//定时器

this._count=Math.abs(count);//切换数量

this._target=0;//目标值

this._t=this._b=this._c=0;//tween参数

this.Index=0;//当前索引

this.SetOptions(options);

this.Auto=!

!

this.options.Auto;

this.Duration=Math.abs(this.options.Duration);

this.Time=Math.abs(this.options.Time);

this.Pause=Math.abs(this.options.Pause);

this.Tween=this.options.Tween;

this.onStart=this.options.onStart;

this.onFinish=this.options.onFinish;

varbVertical=!

!

this.options.Vertical;

this._css=bVertical?

"top":

"left";//方向

//样式设置

varp=CurrentStyle(this._container).position;

p=="relative"||p=="absolute"||(this._container.style.position="relative");

this._container.style.overflow="hidden";

this._slider.style.position="absolute";

this.Change=this.options.Change?

this.options.Change:

this._slider[bVertical?

"offsetHeight":

"offsetWidth"]/this._count;

};

SlideTrans.prototype={

//设置默认属性

SetOptions:

function(options){

this.options={//默认值

Vertical:

true,//是否垂直方向(方向不能改)

Auto:

true,//是否自动

Change:

0,//改变量

Duration:

30,//滑动持续时间

Time:

10,//滑动延时

Pause:

3000,//停顿时间(Auto为true时有效)

onStart:

function(){},//开始转换时执行

onFinish:

function(){},//完成转换时执行

Tween:

Tween.Quart.easeOut//tween算子

};

Extend(this.options,options||{});

},

//开始切换

Run:

function(index){

//修正index

index==undefined&&(index=this.Index);

index<0&&(index=this._count-1)||index>=this._count&&(index=0);

//设置参数

this._target=-Math.abs(this.Change)*(this.Index=index);

this._t=0;

this._b=parseInt(CurrentStyle(this._slider)[this.options.Vertical?

"top":

"left"]);

this._c=this._target-this._b;

this.onStart();

this.Move();

},

//移动

Move:

function(){

clearTimeout(this._timer);

//未到达目标继续移动否则进行下一次滑动

if(this._c&&this._t

this.MoveTo(Math.round(this.Tween(this._t++,this._b,this._c,this.Duration)));

this._timer=setTimeout(Bind(this,this.Move),this.Time);

}else{

this.MoveTo(this._target);

this.Auto&&(this._timer=setTimeout(Bind(this,this.Next),this.Pause));

}

},

//移动到

MoveTo:

function(i){

this._slider.style[this._css]=i+"px";

},

//下一个

Next:

function(){

this.Run(++this.Index);

},

//上一个

Previous:

function(){

this.Run(--this.Index);

},

//停止

Stop:

function(){

clearTimeout(this._timer);this.MoveTo(this._target);

}

};

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1