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

JavaScript026

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按钮边框圆角

获取对象document.getElementById('元素ID')

TEXT的元素使用属性.innerHTML

BUTTON获取按钮的函数是onclick

知道上面的内容就可以编写了

<html>

<body>

<script>

function $(sId)

{

return document.getElementById(sId)

}

function fnA2B(obj) //obj是来源的BUTTON对象,在这里可以不作处理.

{

//在覆盖以前可以先保存一下原来的值,与下面的函数是一致

//$('_b').setAttribute('old_text', $('_b').innerHTML)

$('_b').innerHTML=$('_a').innerHTML//a的元素对象拷贝给b

}

function fnC2B(obj) //obj是来源的BUTTON对象,在这里可以不作处理.

{

$('_b').innerHTML=$('_c').innerHTML//a的元素对象拷贝给b

}

//如果你想保存原来的值,可以使用内嵌对象函数.setAttribute('变量名','值或对象')

</script>

<div id=_a>A</div>

<div id=_b>B</div>

<div id=_c>C</div>

<input type=button value='按钮1' onclick=fnA2B(this)>

<input type=button value='按钮2' onclick=fnC2B(this)>

</body>

</html>

以上代码未测试,知道了这些函数特性就可以灵活的应用了,希望对你有参考作用.