JS实现点击一个按钮更换图片

JavaScript020

JS实现点击一个按钮更换图片,第1张

你的代码差在少了"选择元素"这一步。

img1.src = "..\images/DT2.JPG"这一步是没有作用的,因为img1你还没有定义。

正确的方法是让图片元素的id是img1,然后

document.getElementById('img1').src = "..\images/DT2.JPG"

这样进行赋值。

document.getElementById('img1')这一步的作用就是选择图片元素。

这是针对此问题的测试页面

代码如下

<div class="DT">

<div>

<img id="img1" src="https://img.alicdn.com/bao/uploaded/i3/2276233074/TB20r1QbFXXXXX3XXXXXXXXXXXX_!!2276233074.jpg_270x270.jpg"

/>

</div>

</div>

<div style="text-align:center">

<input type="button" id="b1" value=" 放大 " onclick="fd()" />

<input type="button" id="b3" value="还原 " onclick="hy()" />

<input type="button" id="b2" value=" 缩小 " onclick="sx()" />

</div>

function fd() {

document.getElementById('img1').src = "https://img.alicdn.com/bao/uploaded/i3/2276233074/TB20r1QbFXXXXX3XXXXXXXXXXXX_!!2276233074.jpg_400x400.jpg"

}

function sx() {

document.getElementById('img1').src = "https://img.alicdn.com/bao/uploaded/i3/2276233074/TB20r1QbFXXXXX3XXXXXXXXXXXX_!!2276233074.jpg_180x180.jpg"

}

function hy() {

document.getElementById('img1').src = "https://img.alicdn.com/bao/uploaded/i3/2276233074/TB20r1QbFXXXXX3XXXXXXXXXXXX_!!2276233074.jpg_270x270.jpg"

}

这样:

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