本文实例为大家分享了js实现图片切换效果,供大家参考,具体内容如下
用js实现点击按钮,图片切换的效果:
<div class="box" id="box">
<div class="img_box" id="img_box">
<img src="/UploadFiles/2021-04-02/b1.jpg">
结构:用一个固定宽高的div来做最外层的容器,设置overflow为hidden,
然后内层img_box设置宽度为四倍box的宽度,高度相同,也就是说img_box里面盛放四张img,但是可见的只有一张,下面的两个div,left和right是充当按钮实现点击切换图片,切换图片也就是改变img_box的left属性,所以img_box应该设置position为absolute,为了方便起见,box的position设置为relation,这样img_box就是相对box进行定位了。四张图片设置float为left,宽度和高度与box相同.
CSS代码:
*{
margin: 0;
padding: 0;
}
.box{
width: 800px;
height: 400px;
margin: 20px auto;
position: relative;
overflow: hidden;
}
.img_box{
height: 400px;
width: 3200px;
position: absolute;
-moz-transition: 0.5s;
-webkit-transition: 0.5s;
}
img{
width: 800px;
height: 400px;
float: left;
}
.switch{
width: 200px;
height: 100%;
position: absolute;
}
#left{
left: 0px;
top: 0px;
background: -moz-linear-gradient(left, rgba(84, 84, 84, 0.50), rgba(20%,20%,20%,0));
background: -webkit-linear-gradient(left, rgba(84, 84, 84, 0.50), rgba(20%,20%,20%,0));
}
#right{
right:0px;
top: 0px;
background: -moz-linear-gradient(left, rgba(20%,20%,20%,0), rgba(84, 84, 84,0.5));
background: -webkit-linear-gradient(left, rgba(20%,20%,20%,0), rgba(84, 84, 84,0.5));
}
#left:hover{
background: -moz-linear-gradient(left, rgba(0, 0, 0,0.5), rgba(20%,20%,20%,0));
background: -webkit-linear-gradient(left, rgba(0, 0, 0,0.5), rgba(20%,20%,20%,0));
}
#right:hover{
background: -moz-linear-gradient(left, rgba(20%,20%,20%,0), rgba(0, 0, 0,0.5));
background: -webkit-linear-gradient(left, rgba(20%,20%,20%,0), rgba(0, 0, 0,0.5));
}
left和right用到了背景颜色和透明度渐变的属性,只添加了火狐浏览器和webkit浏览器,另外现在有的IE浏览器是IE和webkit双内核如360安全浏览器
background: -moz-linear-gradient(left, rgba(84, 84, 84, 0.50), rgba(20%,20%,20%,0));
background: -webkit-linear-gradient(left, rgba(84, 84, 84, 0.50), rgba(20%,20%,20%,0));
为了实现切换的时候平滑过渡,所以添加了transition属性:
-moz-transition: 0.5s;
-webkit-transition: 0.5s;
js代码:
var box;
var count=1;
window.onload=function(){
box=document.getElementById("img_box");
var left=document.getElementById("left");
var right=document.getElementById("right");
left.addEventListener("click",_left);
right.addEventListener("click",_right);
document.body.addEventListener("mouseover",demo);
}
function _right(){
var dis=0;
if(count<4){
dis=count*800;
}else{
dis=0;
count=0;
}
box.style.left="-"+dis+"px";
count+=1;
}
function _left(event){
var dis=0;
if(count>1){
dis=(2-count)*800;
}else{
dis=-3*800;
count=5;
}
box.style.left=dis+"px";
count-=1;
}
用全局变量count来记录当前显示的第几张图片,当点击切换按钮的时候根据count来计算应该显示第几张照片,然后计算并设置img_box的left属性即可。
以上就是为大家介绍的js实现图片切换效果的代码,希望能够帮助大家实现图片切换效果。
js图片切换,js切换效果
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。