【问题标题】:I added an HTML button to my page, and if you click on it, it hides the button , but I want the button to be hidden for 11 hours我在我的页面上添加了一个 HTML 按钮,如果你点击它,它会隐藏按钮,但我希​​望按钮隐藏 11 小时
【发布时间】:2022-01-26 09:10:24
【问题描述】:
<button type="button"
style="background-color:skyblue; border-color:blue; color:white"
className="bn49"
onClick = "this.style.visibility= 'hidden'; window.open('https://frankvanasch.com/elementor-158/','_blank')"
>go
</button>

【问题讨论】:

  • 我已经尝试将这个放在代码中,但它似乎不起作用:window.addEventListener("load", function(){ var currentTime = new Date(); var hours = currentTime.getHours(); var this = document.getElementById("btn1"); if(hours>10) { this.style.display = "none"; } else { this.style.display = "block"; } }, false);
  • 欢迎来到 Stack Overflow _ 请编辑您的帖子并将您评论中的所有信息添加到实际帖子中。请对评论中的代码元素使用提供的代码块功能_访问“询问”的 SO 帮助中心部分,包括有关如何提出一个好问题的文章 >>> stackoverflow.com/help/how-to-ask

标签: html button timer hide show


【解决方案1】:

如果您的用户知道自己在做什么,那么使用 HTML 和 JavaScript 实现您的目标可能是不可能的。

如果您想隐藏按钮 11 小时,我会使用 localStorage 或 cookie 来存储其状态,并选择是否要显示按钮。 并且反转逻辑,就像按钮必须默认隐藏,并且仅在没有进行交互或最后一次交互超过 11 小时前才显示。

这样的东西,当然这个sn-p不能在这里运行,因为SO localStorage的限制。

$(".bn49").on("click", function(evt) {
  let tgt = evt.target;
  $(tgt).hide();
  localStorage.setItem("bn49", new Date().toISOString());
  window.open('https://frankvanasch.com/elementor-158/', '_blank');
});

$(function() {
  let btnTime = localStorage.getItem("bn49");
  if (btnTime) {
    // there is a time stored, we'll check it
    let t = new Date();
    t.setHours(t.getHours() - 11);
    if (new Date(btnTime).getTime() > t.getTime()) {
      // 11 hours have passed, show the button
      $(".bn49").show();
    }
  } else {
    // there isn't a time stored, show the button
    $(".bn49").show();
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<button type="button" style="background-color:skyblue; border-color:blue; color:white; visibility: hidden;" className="bn49">go</button>

【讨论】:

  • 感谢您的回答.. 但这不是 html 代码吗? .. 可能是一个愚蠢的问题.. 但我才开始尝试用 HTML 编码 .. 如果我将上面的“大”代码放在我的 html 页面中。它只显示代码.. 它不显示任何按钮。
  • @FrankVanAsch 正确,它是 javascript 代码,更进一步,它是使用 javascript 库 (jQuery) 的 javascript 代码。您想要做的事情不能仅通过 HTML 来实现,并且您已经在“onClick”事件中使用了一些 javascript。要使我的版本正常工作,您只需将 JS 代码放在
  • 哦好的..非常感谢你..做到了:-)
猜你喜欢
  • 2012-06-13
  • 2020-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-13
  • 1970-01-01
相关资源
最近更新 更多