php滑动轮播效果,怎么用简单的js代码实现轮播图滚动效果?

首页的轮播图展示基本是必不可少的。那么对于新手小白来说可能觉得用原声js会有点困难,其实并不需要把图片滚动想的很复杂。其js轮播图实现原理主要可以理解为相同大小的图片并成一列,但只显示其中一张图片,其余的隐藏,通过修改left值来改变显示的图片。轮播图片每隔几秒自动滑动,达到图片轮流播放的效果,从效果来说有滑动式的也有渐入式的,滑动式的轮播图就是图片从左向右滑入的效果,渐入式的轮播图就是图片根据透明度渐渐显示的效果。

那么本篇文章介绍得就是怎么用js实现图片轮播及滑动式的效果,希望对需要的朋友们有所帮助。

js实现轮播图具体代码示例如下://HTML代码部分

js实现轮播图原理及示例
  • img1
  • img2
  • img3
  • img4
  • img5

//css代码部分

*{ margin:0; padding:0;

} nav{ width: 720px; height: 405px; margin:20px auto; overflow: hidden; position: relative;

} #index{ position: absolute; left:320px; bottom: 20px;

} #index li{ width:8px; height: 8px; border: solid 1px gray; border-radius: 100%; background-color: #eee; display: inline-block;

} #img{ width: 3600px;/*不给宽高无法移动*/

height: 405px; position: absolute;/*不定义absolute,js无法设置left和top*/

z-index: -1;

} #img li{ width: 720px; height: 405px; float: left;

} #index .on{ background-color: black;

}//js代码部分

function moveElement(ele,x_final,y_final,interval){//ele为元素对象

var x_pos=ele.offsetLeft; var y_pos=ele.offsetTop; var dist=0; if(ele.movement){//防止悬停

clearTimeout(ele.movement);

} if(x_pos==x_final&&y_pos==y_final){//先判断是否需要移动

return;

}

dist=Math.ceil(Math.abs(x_final-x_pos)/10);//分10次移动完成

x_pos = x_pos

dist=Math.ceil(Math.abs(y_final-y_pos)/10);//分10次移动完成

y_pos = y_pos

ele.style.left=x_pos+'px';

ele.style.top=y_pos+'px';

ele.movement=setTimeout(function(){//分10次移动,自调用10次

moveElement(ele,x_final,y_final,interval);

},interval)

}

注:

图片移动函数moveElement()需要获取图片现在的位置以及目标位置并计算它们之间的差距进行移动,可以用offsetLeft和offsetTop获取图片现在的位置。图片移动时“划过”的效果是将距离分成好10次进行移动,即利用setTimeOut函数,然而为了防止鼠标悬停,需调用clearTimeout()函数。

【相关文章推荐】

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值