js如何让图片显示隐藏三次

JavaScript010

js如何让图片显示隐藏三次,第1张

一、案例需求

点击按钮后图片隐藏,同时按钮的文字变为显示,再次点击按钮图会显示,同时按钮的文

字变为隐藏。

二、案例分析

1、事件源:按钮(button)

2、事件类型:点击(onclick)

3、事件处理程序:

(1)文字内容改变用:innerText

(2)图片是否显示用:display

三、代码如下

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>显示和隐藏图片</title>

<style>

#new {

width: 200px

margin-top: 10px

}

</style>

</head>

<body>

<button id="btn">隐藏</button><br>

<img src="images/img01.jpg" id="new">

<script>

// 1. 获取元素

var btn = document.querySelector('#btn')

var img = document.querySelector('#new')

var index = 1

// 2. 添加事件

btn.onclick = function() {

//法一:

if (index++ % 2 === 1) {

img.style.display = 'none'

this.innerText = '显示'

} else {

img.style.display = 'block'

this.innerText = '隐藏'

}

// 法二

// if (this.innerText === '隐藏') {

代码如下:

<html>

<head>

<meta charset="gb2312"> <title>隐藏和显示</title> <style type="text/css"> #thediv {  width:200px  height:100px  line-height:100px  text-align:center  background-color:green } </style> <script type="text/javascript"> function Show_Hidden(obj) {  if(obj.style.display=="block")  {   obj.style.display='none'  }  else  {   obj.style.display='block'  } } window.onload=function() {  var olink=document.getElementById("link")  var odiv=document.getElementById("thediv")  olink.onclick=function()  {   Show_Hidden(odiv)   return false  } } </script> </head> <body> <a href="#" id="link">显示\隐藏切换</a> <div id="thediv" style="display:block">欢迎您</div> </body> </html>

以上代码实现了我们的要求,点击顶部链接可以实现div显示和隐藏的切换。

实现原理:

为链接注册onclick事件处理函数,此处理函数可以判断div的style.display属性值,如果为block则将其设置为none,也就是将div设置为隐藏状态,否则设置为block,也就是将div设置为显示状态,原理大致如此。

需要特别注意的是,在div中,之所以使style="display:block"的目的是让obj.style.display语句能够获取属性值,否则第一次点击无法将div设置为隐藏,大家可以去掉style="display:block"做一下测试,return false语句是为了防止链接的跳转效果。

需要准备的材料分别是:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建一个html文件,例如:index.html。

2、在index.html文件的<script>标签中,写入js:

$('button').click(function () {

$('div').hide()

$('div').eq(parseInt(3 * Math.random())).show()

})

3、浏览器运行index.html页面,此时点击btn按钮总会显示其中1个div和隐藏另外2个div。