我有前戏码HTML显示倒计时点击
<div id="container">
<a href="#container">Show Content</a>
<div id="content">I am some content!</div>
</div>
如何当我点击Show Content
回声倒计时(12S)<div id="content">I am some content!</div>
给我的工作的例子。谢谢
我有前戏码HTML显示倒计时点击
<div id="container">
<a href="#container">Show Content</a>
<div id="content">I am some content!</div>
</div>
如何当我点击Show Content
回声倒计时(12S)<div id="content">I am some content!</div>
给我的工作的例子。谢谢
编辑:实施例更新以示出当倒计时开始元素和隐藏时的倒计时结束。当用户点击链接时,调用countToShow
函数。立即显示最初隐藏的'ads'元素,其命令adsElement.style.display = ''
(删除内联指定的display: none
样式)。当倒计时结束时(remainingSeconds === 0
),我再次隐藏'ads'元素设置adsElement.style.display = 'none'
。
这是一个使用setInterval
函数的例子,可以指定倒数时间。
function countToShow(timeInSeconds) {
var countdownElement = document.getElementById('countdown');
var contentElement = document.getElementById('content');
var adsElement = document.getElementById('ads');
var remainingSeconds = timeInSeconds;
adsElement.style.display = '';
countdownElement.innerHTML = remainingSeconds;
var interval = setInterval(function() {
countdownElement.innerHTML = --remainingSeconds;
if (remainingSeconds === 0) {
clearInterval(interval);
contentElement.style.display = '';
adsElement.style.display = 'none';
}
}, 1000);
}
<div id="container">
<a href="#container" onclick="countToShow(12)">Show Content</a>
<div id="ads" style="display: none">
<div id="countdown"></div>
<div>Ads</div>
</div>
<div id="content" style="display: none">I am some content!</div>
</div>
感谢您的支持。点击'#容器'时如何显示更多div:点击'#容器'显示更多'div ads' +'倒计时'/完成'countdown'隐藏'div ads'? – DinhTv
我已更新答案以符合您的要求。再次来到 – RafaelHamasaki
!感谢你的支持。 – DinhTv
您的div(内容)没有隐藏,因此会在屏幕上。首先通过使用隐藏的div:
<div id="content" style="display: none">I am some content!</div>
现在onclick
事件添加到节目内容的div:
<a href="#container" onclick="showDiv()">Show Content</a>
定义showDiv
功能:
var showDiv = function(){
setTimeout(function(){
document.getElementById('container').style.display = ''; //Edit suggested by RobG
}, 12000);
}
您可以使用JavaScript window.setTimeout
功能递归调用相同的超时函数,直到计数器达到0;
var ctr = 12;
function showTimer(){
window.setTimeout(function() {
if(ctr >= 0) {
document.getElementById("counter").innerHTML = ctr + 's';
showTimer();
ctr--;
}
}, 500);
}
<div id="container">
<a href="#container" onClick="showTimer()">Show Content</a>
<div id="counter"></div>
<div id="content">I am some content!</div>
</div>
它可能会使用顺序调用* *的setTimeout直到时间结束,那么最后的通话中显示的股利。你试过什么了? – RobG
我对js不了解。举个例子吧。感谢您的反馈。 – DinhTv