【问题标题】:How to alter html after html on document.ready javascript如何在 document.ready javascript 上的 html 之后更改 html
【发布时间】:2016-08-08 01:43:21
【问题描述】:

我需要在文档准备好后更改 html(隐藏或显示元素),但是,只需这样做:

$(document).ready(function(){
$('#element').hide();
});

导致 document.ready 被递归调用...我是否应该简单地使用一个 boolean called=true,然后仅在 alled==false 时调用 element.hide()?还是有更好的方法来做到这一点?谢谢...

【问题讨论】:

  • 您正在寻找什么用例?因为如果你想隐藏一些东西,你可以通过 CSS 使用 display : none; 隐藏它
  • 如何递归调用?
  • 你确定它是递归调用的吗?我真的看不出在你的代码中怎么会发生这种情况。 .ready() 中的所有内容都将在元素(主体)准备好时执行.. 一次,如果它被调用一次
  • 除非您正在开发自己的浏览器,否则不可能递归调用它... 网站上的其他东西正在触发代码...
  • 我认为让您感到困扰的是该元素在文档准备就绪时立即隐藏,而不是递归调用它。如果你想延迟隐藏效果setTimeout()可以帮到你。

标签: javascript html document


【解决方案1】:

如果你只想隐藏元素,你可以只通过 css 来实现,即#element: display: none;

如果您想在单击时显示/隐藏特定项目,可以使用.toggle(speed,easing,callback) 方法,例如: $('#element').toggle();

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    如果您的问题是在一段时间后隐藏 element 而不是在页面加载时隐藏它,您可以像这样使用 jQuery setTimeout

    setTimeout(function(){
        $("#element").hide()
    }, 3000);
    

    这将在页面加载 3 秒后隐藏 element

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-25
      • 1970-01-01
      • 1970-01-01
      • 2018-09-20
      • 1970-01-01
      • 1970-01-01
      • 2013-07-24
      相关资源
      最近更新 更多