Pro1:图片的隐藏和显示

本文介绍了JavaScript的基本概念,以及如何利用JavaScript实现图片的点击显示和隐藏功能。通过获取按钮和图片元素,结合事件监听和条件判断,达到动态效果,增强了网页交互性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

💛作者主页:静Yu
🧡简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者
💛社区地址:前端知识交流社区
🧡多种源码领取:各种福利满满

什么是JavaScript?

一开始的网页就是单纯的静态网页,为了使用户能与网页交互,设计出了JavaScript语言。JavaScript语言就是一种可以用来给网页添加交互性的·语言。我们平时听到对JavaScript的描述一般是这是一门脚本语言。脚本语言就是在浏览器执行的一种语言,是一段程序并不是软件。脚本语言可以添加到使用html和css构建的网站中,在网页加载时会自动执行,并实现各种页面的动态效果,在页面交互起到重要的作用。

实现目标

最上方有一个按钮,点击按钮实现图片的显示和隐藏

实现方式

在JavaScript中,控制HTML元素的隐藏和展示(显示)有多种方法。以下是几种常用的方法:

使用style.display属性
你可以通过改变元素的display CSS属性来控制元素的可见性。将display设置为none可以隐藏元素,而将其设置为其他值(如block、inline、flex等)可以显示元素。

// 隐藏元素  
element.style.display = 'none';  
  
// 显示元素(假设它原本应该是块级元素)  
element.style.display = 'block';

使用style.visibility属性
visibility属性也可以用来控制元素的可见性,但即使设置为hidden,元素仍然会占据页面上的空间。

// 隐藏元素但保留空间  
element.style.visibility = 'hidden';  
  
// 显示元素  
element.style.visibility = 'visible';

使用classList和CSS类
你可以在CSS中定义一个隐藏或显示的类,然后在JavaScript中使用classList.add()和classList.remove()方法来添加或删除这些类。

CSS:

css
.hidden {  
    display: none;  
}  
  
.visible {  
    display: block; /* 或其他适当的值 */  
}

JavaScript:

// 隐藏元素  
element.classList.add('hidden');  
element.classList.remove('visible');  
  
// 显示元素  
element.classList.add('visible');  
element.classList.remove('hidden');

或者,你可以使用classList.toggle()方法来切换类的存在:

// 切换元素的可见性(使用hidden类)  
element.classList.toggle('hidden');

使用HTML5的hidden属性
HTML5引入了一个hidden布尔属性,你可以通过JavaScript来设置它。但是请注意,这个属性只是将元素的display设置为none的一个快捷方式,而不是一个独立的CSS属性。

// 隐藏元素  
element.setAttribute('hidden', '');  
  
// 显示元素  
element.removeAttribute('hidden');

使用opacity属性
虽然这不是真正的“隐藏”元素(因为它仍然占据空间并可以交互),但你可以通过将元素的opacity设置为0来使其变得透明。

// 使元素透明(但仍然可见和可交互)  
element.style.opacity = 0;  
  
// 使元素不透明(显示)  
element.style.opacity = 1;

使用position和z-index属性
你也可以通过将元素移动到页面上的不可见区域或使用负的z-index值来“隐藏”它,但这通常不是最佳方法,因为它可能会导致布局问题和其他不可预见的副作用。

实现代码

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>显示隐藏效果</title>
</head>
<body>
<button id="btn" onclick="cik()">隐藏图片</button>
<br />
<img src="123.jpg">

<script type="text/javascript">
    //先获取按钮
    var btn = document.getElementById("btn");
    //再获取图片是数组
    var img = document.getElementsByTagName("img")[0];
    //点击事件的方法
    function cik(){
//如果按钮文字等于显示就执行里面的内容,如果不是显示就执行else里面的内容
        if(btn.innerHTML==='隐藏图片'){
            //图片设为不可见
            img.style.display='none';
            //同时按钮文字改为显示
            btn.innerHTML="显示图片";
        }else{
            //另一种情况图片显示
            img.style.display='block';
            //文字按钮改为隐藏
            btn.innerHTML="隐藏图片";
        }
    }
</script>
</body>
</html>

实现效果

在这里插入图片描述

实现方法

因为你是点击按钮实现图片的显示和消失,所以你一开始必须先获取按钮,getElementById()方法可返回对拥有指定 ID 的第一个对象的引用,这里引用的就是按钮的IDbtn,获取按钮之后开始获取图片,这里我们就可以不用获取ID了,可以直接通过getElementsByTagName,

getElementsByTagName() 方法可返回带有指定标签名的对象的集合,这里我们直接获取图片标签<img>.

onclick 事件会在元素被点击时发生,

innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML。

最后就是设置cik()函数也是用到我们平时使用的if语句,如果按钮返回的是隐藏图片,就将图片的显示形式display修改为none,反之同理。

评论 144
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静Yu

感谢您的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值