gpt4 book ai didi

javascript - 使用 javascript 和不同于最初可见的图像更改 DIV 可见性。不使用按钮

转载 作者:行者123 更新时间:2023-11-28 15:57:09 25 4
gpt4 key购买 nike

我尽量使它相对简单,并且在过去的 6 个小时里我一直在努力完成这项工作,所以如果有人能纠正我,那就太棒了。

期望的行为:点击图片 1 应该让它隐藏,图片 2 已经存在,点击图片 2 应该让图片 1 再次可见。用户应该能够在每个图像之间多次切换。

我已经设法做到这一点,以便在单击第一个图像时不再可见,并且在单击第二个图像时显示第二个图像(我正在使用它而不是按钮)它应该显示第一个图像,我已经尝试重置 div,但我不确定最好的方法是什么让它再次可见。

 <!--Notice-->
<div class="notice1">
<style>.notice1 { position:fixed; bottom:0%; left:0%; z-index: 2;}</style>
<img class="notice1" img draggable="false" onclick="this.style.display='none';" src="URL FOR IMAGE 1" width="100%" alt=""></div>

<div class="Notice2">
<style>.notice2 { position:fixed; bottom:0%; right: 0%; z-index: 1;}</style>
<img class="notice2" img draggable="false" src="URL FOR IMAGE 2" width="2.5%" alt=""></div>

    <script>
function changeVisibility() {
document.getElementById("notice1").style.visibility = "hidden";
}

function resetElement() {
document.getElementById("notice2").style.visibility = "visible";>
</script>

第一个片段有效,第一张图片消失了,我只需要它在点击第二张图片时再次显示第一张图片。

我试过不用脚本来做这件事,但我不知道怎么做。第一张图片消失了,但我不明白为什么点击第一张图片不会让它再次消失。如果您粘贴自己的图片链接,您就会明白我的意思。

如果有人可以复制我的代码并直接进行更改,那就太棒了。我想我缺少了一些东西,我在这个网站上找不到任何实际使用与我相同的方法的东西。

谢谢。

最佳答案

您的代码有数量的问题:

  • 您已尝试创建一个新标签来重置元素:
    alt="ALT TAG"> <onclick="resetElement()">
    您可能正在寻找一个 inline 事件处理程序属性(这将还是 bad practice )。理想情况下,您应该使用 .onclick 而不是。
  • 您的图片有一个 img属性,不存在。
  • 你有内联 <style> <body> 中的标签. <强> <style> must come inside <head> 。您可以使用 W3C Markup Validation Service 验证您的标记.
  • 您正在使用 document.getElementById() 定位您的元素,当您的元素没有没有 ID 时。他们有类(class),所以您可能正在寻找 document.getElementsByClassName() 。请注意,这将返回一个 NodeList 元素集合,因此您需要使用 [0] 访问第一个结果.
  • 你有资本N在你的声明中 Notice2 , 应该是 notice2 .
  • 你的 resetElement()永远不会调用函数。相反,您设置了 display 对于 notice1内联(当您应该修改 visibility 时)。
  • notice1默认情况下不可见。
  • 您将通知类应用于图像及其各自的父级,这很可能是无意的。
  • 你的两张图片有不同的width属性,这也很可能是无意的。
  • 您没有切换功能。你想交换 visibility点击第二张图片时的规则。

解决所有这些问题后,您将获得一个有效的示例,如下所示:

var notice1 = document.getElementsByClassName("notice1")[0];
var notice2 = document.getElementsByClassName("notice2")[0];

notice1.onclick = function() {
notice1.style.visibility = "hidden";
notice2.style.visibility = "visible";
}

notice2.onclick = function() {
notice2.style.visibility = "hidden";
notice1.style.visibility = "visible";
}
.notice1 {
position: fixed;
bottom: 0%;
left: 0%;
z-index: 2;
}

.notice2 {
position: fixed;
bottom: 0%;
right: 0%;
z-index: 1;
visibility: hidden;
}
<!--Notice-->
<div>
<img class="notice1" draggable="false" src="http://placekitten.com/101" width="100%" alt="ALT TAG">
<img class="notice2" draggable="false" src="http://placekitten.com/102" width="100%" alt="ALT TAG">
</div>

希望对您有所帮助! :)

关于javascript - 使用 javascript 和不同于最初可见的图像更改 DIV 可见性。不使用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47914059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com