【问题标题】:Settimeout Within The Same Function同一个函数内的settimeout
【发布时间】:2021-06-13 10:09:37
【问题描述】:

我需要你的帮助。 当我在下面的代码中分别运行 iframe 和点击代码而不设置 settimeout 时,它可以工作,但是当我将 settimeout 添加到两者时,我得到一个“findo is not defined”错误。

setTimeout(function () { 
var findo = $('<iframe>') 
.attr('src',"url link")
.attr('id', 'sevecen')
.attr('class', 'class_in_iframe')
.appendTo('.class');},5000);
setTimeout(function () {var selo = findo.contents().find(".class 
id").trigger("click");},8000);

【问题讨论】:

  • 将第二个超时时间移到第一个超时值内,延迟 3000。这样,它将可以访问您在第一个本地创建的 findo 变量

标签: javascript jquery function settimeout


【解决方案1】:

我同意@blex,你应该把第二个超时放在第一个里面并调整等待时间。

setTimeout(function () {
  var findo = $("<iframe>")
    .attr("src", "url link")
    .attr("id", "sevecen")
    .attr("class", "class_in_iframe")
    .appendTo(".class");

    setTimeout(function () {
        var selo = findo.contents().find(".class id").trigger("click");
      }, 3000);

}, 5000);

【讨论】:

    【解决方案2】:

    您必须仅在加载文档时运行它。试试:

    <script type="text/javascript">
        myFunction();
    </script>
    

    在 myFunction 中,运行您的逻辑而不超时并检查。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-22
      • 1970-01-01
      • 2017-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多