javascript - 如何设置超时返回到第一个div?

标签 javascript html jquery jquery-events

我在一个页面上有三个 div,第一个 div 是 html5 视频,第二个 div 包含按钮,第三个是感谢页面,它返回到开头,所以它就像一张照片幻灯片。这是我的代码和函数 - http://jsfiddle.net/EXfnN/14/

我在第二个div上设置了3秒,所以如果3秒内没有点击按钮/标签,它会自动转到第三个div。

我对此函数有三个问题:

  1. 当没有点击任何按钮时,如何设置第二个 div 返回开头/第一个 div 而不是第三个 div?
  2. 每次您点击第二个 div/页面上的按钮时,都会向相应的电子邮件地址发送一封电子邮件。我的问题是,当三秒内没有单击任何按钮并且自动滑动功能发生时,电子邮件仍在发送。当没有单击任何按钮并且发生自动幻灯片时,如何停止发送电子邮件? (请注意,我更愿意在 html 中保留 li 和标签结构,因为按钮具有事件效果)
  3. 对于第三个div-感谢页面,我可以将a标签更改为div,这样人们就无法点击它吗?如果是这样,我该如何定位它?

任何代码/建议都值得赞赏。

最佳答案

要修复#1,您需要在使用 item2 时更改 setTimeout 函数。请参阅http://jsfiddle.net/EXfnN/15/

对于#2,我尝试让电子邮件功能在超时时触发,但看不到它工作。如果您仍然发现问题,请尝试放弃 onClick 属性并从 javascript 触发这些属性。即:

$('#abc').click(function(){abcSubmit();});

这应该使它们仅在实际点击时触发,从而解决您的问题。

如果我正确理解你的第三个问题,你可以这样做:

更改:

<div id="item3" class="item">
      <div class="content">
           <a href="#item1" class="panel"><img src="images/thankyou.jpg" alt="Thank you" /></a>
      </div>
</div>

致:

<div id="item3" class="item">
     <img src="images/thankyou.jpg" alt="Thank you" />
</div>

然后只需在脚本中触发点击操作即可:

$('#item3').click(function(){//your action here});

唯一的缺点是,如果没有 JavaScript,您的用户将无法执行任何操作。他们也不会通过第一张幻灯片,所以这有点无关紧要!

关于javascript - 如何设置超时返回到第一个div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9472319/

相关文章:

jquery - 健全性检查 : change event not firing first time using keyboard

html - 如何隐藏html内容的 'top'的溢出而不是 'bottom'

javascript - Angular 动画: Slider Effect

javascript - 从 Javascript 类中的静态方法引用成员函数的正确方法

javascript - 根据复选框选择启用@Html.editorFor

html - css 没有在网页上显示背景封面

html - 工具提示的 CSS 可见性规则不起作用

javascript - 为什么在某些情况下单击鼠标中键不会触发 'click'?

javascript - 如何选择一个必须具有多个 css 类的元素?

javascript - 如何仅在事件失去绑定(bind)之前才绑定(bind)事件