我在一个页面上有三个 div,第一个 div 是 html5 视频,第二个 div 包含按钮,第三个是感谢页面,它返回到开头,所以它就像一张照片幻灯片。这是我的代码和函数 - http://jsfiddle.net/EXfnN/14/
我在第二个div上设置了3秒,所以如果3秒内没有点击按钮/标签,它会自动转到第三个div。
我对此函数有三个问题:
- 当没有点击任何按钮时,如何设置第二个 div 返回开头/第一个 div 而不是第三个 div?
- 每次您点击第二个 div/页面上的按钮时,都会向相应的电子邮件地址发送一封电子邮件。我的问题是,当三秒内没有单击任何按钮并且自动滑动功能发生时,电子邮件仍在发送。当没有单击任何按钮并且发生自动幻灯片时,如何停止发送电子邮件? (请注意,我更愿意在 html 中保留 li 和标签结构,因为按钮具有事件效果)
- 对于第三个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/