js如何点击左右按钮切换图片

JavaScript032

js如何点击左右按钮切换图片,第1张

这样:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>动态切换图片</title>

</head>

<style>

ul{

padding:0margin:0

}

li{

list-style: none

}

#pic{

position: relative

width: 400px

height: 400px

background-color:red

margin:100px auto

background:url('image/1.jpg') no-repeat center

}

#pic img{

width: 400px

height: 400px

}

#pic ul{

width: 50px

position: absolute

top: 0

right: -70px

}

li{

width: 40px

height: 40px

margin-bottom:10px

background-color: pink

float: left

}

#pic span{

position: absolute

bottom: 10px

left: 0

}

#pic p,#pic span{

width: 400px

height: 20px

}

#pic p{

position: absolute

top: 10px

left: 0

}

.active{

background-color: red

}

</style>

<body>

<div id="pic">

<img src="" alt="">

<p>qwrwe</p>

<span>werwer</span>

<ul>

</ul>

</div>

<script>

window.onload=function(){

//存放旧li

var oldLi=null

var num=0

var oPic = document.getElementById('pic')

var oImg = oPic.getElementsByTagName('img')[0]

var oUL =  oPic.getElementsByTagName('ul')[0]

var oSpan= oPic.getElementsByTagName('span')[0]

var oP = oPic.getElementsByTagName('p')[0]

var oLi= oUL.getElementsByTagName('li')

var arr=['image/1.jpg','image/2.jpg','image/3.jpg','image/4.jpg']

var aText = ['图片1','图片2','图片3','图片4']

for(var i=0i<arr.lengthi++){

//动态添加元素

oUL.innerHTML+='<li></li>'

}

// 旧li就等于当前的

oldLi=oLi[num]

// 初始化

oImg.src=arr[num]

oP.innerHTML=num+1+'/'+arr.length

oSpan.innerHTML=aText[num]

oLi[num].className='active'

for(var i=0i<arr.lengthi++){

// 给元素自定义属性

//

oLi[i].index=i

oLi[i].onclick=function(){

// 当元素被点击时图片文字信息都一起变化

oImg.src=arr[this.index]

oP.innerHTML=1+this.index+'/'+arr.length

oSpan.innerHTML=aText[this.index]

// 清空上一个 当前添加

oldLi.className=''

//将上一个给当前

oldLi=this

this.className='active'

}

}

}

</script>

</body>

</html>

扩展资料:

注意事项

1、可以通过JS删除和添加hidden属性,改用style.display="none"和style.display="inline"来实现隐藏和显示。

2、button属性,主要的问题时button样式的问题,如何才能做一个好看的button,通过查找找到了设置button相关的值。

border:none设置按钮无边框

outline:none消除按钮点击后出现的表示被点击的边框

background:url(...)按钮背景图片

text-shadow: 0 1px 1px rgba(0,0,0,.3)文字阴影

box-shadow: 0 5px 7px rgba(0,0,0,.2)按钮阴影

border-radius:15px按钮边框圆角

根据你的具体情况,有两种思路。

第一种,类似于滑动效果,用强父元素,overflow:hidden了。然后通过点击左右的键,获取当前父元素的宽度,修改父元素css属性的left,注意,position:absolute时left才起作用。

第二种就比较简单。就是简单的隐藏,点击左右,隐藏第一屏的信息,再次点击,隐藏第一、第二屏的信息,依次类推,当最后一屏的时候,又开始显示第一屏的信息,这样就是循环了。可以用fadeIn()等方法来加入一些效果

思路就是这样,说起来麻烦,其实很简单、