当我点击"一个"链接,让第二个计数器等到第一个计数器结束,然后计数到14(按照第155行的指示)?
https://jsfiddle.net/c4khk69f/27/
负责" one" link是第43行的函数progressSim()。
$('a').on('click', function(e) {
e.preventDefault();
jQuery('.canvasmotherwrap').hide();
jQuery('.canvasmotherwrap').fadeIn();
al = 0;
al2 = 0;
window.clearInterval(sim1_1);
window.clearInterval(sim1_2);
window.clearInterval(sim2);
var storedata = $(this).attr('data');
console.log(storedata)
window[storedata]();
});
var sim1_1;
var sim1_2;
var sim2;
window.one = function() {
sim1_1 = setInterval(progressSim, 10);
sim1_2 = setInterval(progressSim, 1000);
}
window.two = function() {
sim2 = setInterval(progressSim2, 10);
}
答案 0 :(得分:0)
我不完全确定我明白你的意思,但我认为你需要两个计数器,而且当第一个"第一个"一个已经完成,然后第二个应该开始并计入" 14"。
我希望这会有所帮助:
function doWork(targetDiv, startTime, countTo, onDone) {
var ticker = setInterval(function(){
diff = (((Date.now() - startTime) / 500) | 0);
targetDiv.innerText = diff;
if(diff < countTo){ return; }
clearInterval(ticker);
if(typeof(onDone) === 'function') { onDone(); }
}, 100);
}
var divFoo = document.getElementById("foo");
var divBar = document.getElementById("bar");
// your on "click"
doWork(divFoo, Date.now(), 5, function(){
doWork(divBar, Date.now(), 14);
});
&#13;
<table><tr>
<td><div id="foo">0</div></td>
<td><div id="bar">0</div></td>
</table>
&#13;