javascript - 切换可见性不起作用 (HTML/CSS/Javascript)

标签 javascript html css visible

<分区>

我正在关注 this tutorial来自 W3Schools 的关于如何使用 HTML、CSS 和 Javascript 制作幻灯片的文章。在我正在开发的网站上,我希望最初隐藏底部的缩略图和两侧的箭头,直到用户按下按钮。

为此,我在 CSS 文件中设置了 visibility: hidden;dot 类(底部缩略图)的 CSS 代码如下:

.dot {
    cursor: pointer;
    height: 15px;
    width: 15px;
    margin: 0 2px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
    visibility: hidden;
    transition: background-color 0.6s ease;  
}

在按钮的 Javascript 操作中,我已将“点”类下的文档元素的可见性设置为可见,如下所示:

document.getElementsByClassName("dot").style.visibility="visible";

我已验证当通过 alert() View 按下按钮时会触发此操作。在此命令之前,每一行代码似乎都按预期运行。此外,底部的缩略图(“点”元素)不会出现,因此它们的可见性不会像预期的那样变得可见。

关于为什么会这样,或者我该如何解决的任何想法?非常感谢您的帮助!

最佳答案

document.getElementsByClassName("dot") 返回一个数组,您不能将 style 属性应用于该数组。

关于如何处理或重新考虑这个问题,我会给你一些想法。

1) 遍历数组并对每个元素应用样式

var elements = document.getElementsByClassName("dot")
for(var i = 0; i < elements.length; i++) {
    elements[i].style.visibility = "visible";
}

2) 给每个类一个 ID 并调用 document.getElementById("someID")

<div id="one">one</div>
<div id="two">two</div>
<div id="three">three</div>

document.getElementyById("one").style.visibility = "visible";
document.getElementyById("two").style.visibility = "hidden";
document.getElementyById("three").style.visibility = "hidden";

关于javascript - 切换可见性不起作用 (HTML/CSS/Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51488774/

相关文章:

jquery - 禁用网页上的所有表单控件

forEach 内的 Javascript 回调

css - 解决一个部分或类不起作用

javascript - Angular7 中的预选下拉菜单

javascript - 使 div 中的段落中的文本溢出而不是换行

javascript - 如何禁用按钮

javascript - JavaScript 中的 HTML 控件数组 - 1 的复选框数组返回零长度

html - 防止背景视频在移动浏览器上加载的最简单或最佳方法是什么?

javascript - 如何通过按回车按钮将焦点设置在下一个 "enable"输入框上

javascript - ckeditor替换word如何添加更多?