点击按钮后图片隐藏,同时按钮的文字变为显示,再次点击按钮图会显示,同时按钮的文
字变为隐藏。
二、案例分析
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 === '隐藏') {
很显然从后端返回的是一个图片路径,那么你要做的就是把这个路径塞进img的src里面,如:<img src="路径"/>实现步骤:1.先在html里面定义一个img标签<img src=""/>
2.一般情况下图片地址是一个变量,也就是说首先将后端返回的地址保存在一个变量中,如:var imgsrc = res.data.otherImg(根据接口实际情况获取,我这里只是举例)
2.通过js把地址塞进img里面,如: $('img').attr('src', imgsrc)
这样就能把图片渲染出来了。
在代码里添加以下代码执行就可以了<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script src="" type="text/javascript"></script>
<script language="JavaScript">
<!--
function downLoadImage(imagePathURL){
//如果中间IFRAME不存在,则添加
if(!document.getElementById("_SAVEASIMAGE_TEMP_FRAME"))
jQuery('<iframe style="display:none" id="_SAVEASIMAGE_TEMP_FRAME" name="_SAVEASIMAGE_TEMP_FRAME" onload="_doSaveAsImage()"
width="0" height="0" src="about:blank"></iframe>').appendTo("body")
if(document.all._SAVEASIMAGE_TEMP_FRAME.src!=imagePathURL){
//插入图片地址,加载图片
document.all._SAVEASIMAGE_TEMP_FRAME.src = imagePathURL
}else{
//图片显示
_doSaveAsImage()
}
}
function _doSaveAsImage(){
if(document.all._SAVEASIMAGE_TEMP_FRAME.src!="about:blank")
document.frames("_SAVEASIMAGE_TEMP_FRAME").document.execCommand("SaveAs")
}
//-->
</script>
</head>
<body>
<input type="button" value="download image" onclick="downLoadImage('jpg')">
</body>
</html>