1
A
回答
1
你可以使用setInterval。 setInterval的行为就像一个定时器,您可以定期运行某个函数。这样的事情应该做的工作(未经测试):
$(".link").hide();
var iteration = 0;
var timer = setInterval(function() {
if(iteration++ >= 10) {
clearTimeout(timer);
$(".link").show();
$(".counter").hide();
}
$(".counter").text(10 - iteration);
}, 1000);
这最初将隐藏下载链接和运行一个函数每秒从10倒计时当我们reaced十个,我们躲在柜台,并显示该链接。我们使用了ClearTimeout,以便在我们达到10之后不计算在内。容易如戴尔。
编辑:正如在评论中提到的,这个函数使用jQuery来查找元素。
+0
你应该补充说这段代码使用了jQuery。 – Lekensteyn 2011-03-05 21:44:47
+0
@Lekensteyn当然。 – alexn 2011-03-05 21:46:15
1
看看在setTimeout功能。你可以这样做:
function displayLink() {
document.getElementById('link_id').style.display = 'block';
}
setTimeout(displayLink, 10000);
1
完整的示例:
<span id="countdown"></span>
<a id="download_link" href="download.zip" style="display:none;">Download</a>
<noscript>JavaScript needs to be enabled in order to be able to download.</noscript>
<script type="application/javascript">
(function(){
var message = "%d seconds before download link appears";
// seconds before download link becomes visible
var count = 10;
var countdown_element = document.getElementById("countdown");
var download_link = document.getElementById("download_link");
var timer = setInterval(function(){
// if countdown equals 0, the next condition will evaluate to false and the else-construct will be executed
if (count) {
// display text
countdown_element.innerHTML = "You have to wait %d seconds.".replace("%d", count);
// decrease counter
count--;
} else {
// stop timer
clearInterval(timer);
// hide countdown
countdown_element.style.display = "none";
// show download link
download_link.style.display = "";
}
}, 1000);
})();
</script>
0
var WAIT_FOR_SECONDS = 10;
var DOWNLOAD_BUTTON_ID = "btnDownload";
if (document.body.addEventListener) {
document.body.addEventListener("load", displayDownloadButton, false);
} else {
document.body.onload = displayDownloadButton;
}
function displayDownloadButton(event) {
setTimeout(function() {
_e(DOWNLOAD_BUTTON_ID).style.display = "";
}, WAIT_FOR_SECONDS*1000);
}
function _e(id) {
return document.getElementById(id);
}
相关问题
- 1. php隐藏下载链接
- 2. 下载链接隐藏
- 3. 如何隐藏用Javascript下载链接
- 4. 如何在Facebook标签上隐藏链接10秒
- 5. 隐藏链接
- 6. Popup对话框隐藏10秒后
- 7. 在Android 10秒后隐藏布局?
- 8. 在JS隐藏下拉菜单中选择链接
- 9. 图片链接隐藏链接下面的链接
- 10. 隐藏下载链接的网络流量
- 11. 隐藏下载链接的替代方法
- 12. PHP下载大文件的隐藏url链接的简历
- 13. 在按钮上运行PHP并单击隐藏下载链接
- 14. 用户共享链接后显示隐藏的下载框
- 15. 隐藏链接在html
- 16. jQuery的 - 链接隐藏DIV
- 17. 部分链接被隐藏
- 18. 隐藏在asp.net链接
- 19. PHP显示/隐藏链接
- 20. 非恶意隐藏链接
- 21. 隐藏链接在jquery datatable
- 22. 无法隐藏链接
- 23. 点击时隐藏链接
- 24. 隐藏的特殊链接
- 25. 在访问者分享链接后,显示隐藏的下载框格div
- 26. 如何隐藏js套接字连接?
- 27. 下载链接
- 28. js:隐藏div
- 29. 直接链接到隐藏的div
- 30. 原型 - 如何延缓调用隐藏()以10秒
瑞安米切尔的答案是正确的,但如果你不保护在服务器端的链接,持续10秒为好,你的下载保护将是幼稚容易旁路。 – 2011-03-05 21:45:03