我有这个功能,只要我点击一个按钮,就会以00:00:00的格式启动计时器.但我不知道如何做功能恢复和暂停.我发现了一些我认为可能有用的片段,但我无法完成这些工作.我是新手在js中使用对象.
function clock() {
var pauseObj = new Object();
var totalSeconds = 0;
var delay = setInterval(setTime, 1000);
function setTime() {
var ctr;
$(".icon-play").each(function () {
if ($(this).parent().hasClass('hide')) ctr = ($(this).attr('id')).split('_');
});
++totalSeconds;
$("#hour_" + ctr[1]).text(pad(Math.floor(totalSeconds / 3600)));
$("#min_" + ctr[1]).text(pad(Math.floor((totalSeconds / 60) % 60)));
$("#sec_" + ctr[1]).text(pad(parseInt(totalSeconds % 60)));
}
}
Run Code Online (Sandbox Code Playgroud)
pad()只是添加前导零
<script type="text/javascript">
function getbillno(tbl){
$.get("getbillno.php?tbl="+ tbl, function(bill){
$("#billno").val(bill); });
}
</script>
Run Code Online (Sandbox Code Playgroud)
QUICK概述:函数getbillno(tbl)返回显示1作为默认值(ELSE echo"1").
问题:在IE中,无论我显示什么,即使页面是空白,它也总是显示1.
我没有点击刷新,而是尝试关闭IE(9),它确实显示了正确的值.我再次更改了我的代码中的值然后刷新了IE,它会显示之前的那个 - 它是我重新打开IE后的值.
问题:我是否需要在IE(9)中更改或配置设置或其他内容?
在我发现关闭浏览器会做什么之前,我一直在互联网上提问.我认为这与我的程序有关,或者可能确实如此 - 所以这里有一些链接.就像背景一样,因为我不确定看到我的其他问题是否会发生很大变化.
编辑:当我调用Clock.start()时,如何传递参数,以便我可以更改totalSeconds的值?
我有一个计数器,其值与计时器显示的ID连接,因为页面上会有多行计时器,但只有一行会为每个用户运行.我想传递定时器的值,所以我知道我应该获取的定时器在哪一行,然后我将其转换为秒,然后我最终可以将该值分配给totalSeconds.那么也许我可以按照我想象的方式来实现这一点.
我已经跑过的东西:我有一个计时器,除非我刷新,否则它不会显示它正在计数.当页面加载PHP查询mySQL并使用TIMEDIFF(now(),time_log)计算已用时间,其中time_log是计时器启动时的时间.
我想要添加的内容:我想要做的是使用下面的js/jquery片段获取我的TIMEDIFF然后将其用作totalSeconds,因此totalSeconds不会重置并继续从TIMEDIFF值开始向上计数.
var Clock =
{
totalSeconds: 0,
start: function () {
var self = this;
this.interval = setInterval(function () {
self.totalSeconds += 1;
var ctr;
$(".icon-play").each(function(){
if( $(this).parent().hasClass('hide') )
ctr = ($(this).attr('id')).split('_');
});
$("#hour_" + ctr[1]).text(pad(Math.floor(self.totalSeconds/3600)));
$("#min_" + ctr[1]).text(pad( Math.floor((self.totalSeconds/60)%60) ));
$("#sec_" + ctr[1]).text(pad(parseInt(self.totalSeconds%60)));
}, 1000);
},
pause: function () {
clearInterval(this.interval);
delete this.interval;
},
resume: function () {
if (this.interval) this.start();
}
};
Run Code Online (Sandbox Code Playgroud)
对于这个剧本,信用给Speransky Danil先生.如何暂停和恢复计时器?
我有这张桌子.
+------+-------+--------+
| CODE | MONTH | AMOUNT |
+------+-------+--------+
| 2 | 1 | 100 |
| 3 | 1 | 200 |
| 2 | 2 | 300 |
| 3 | 2 | 400 |
+------+-------+--------+
Run Code Online (Sandbox Code Playgroud)
而且,这是我想要的结果.
+------+---------+---------+
| CODE | MO1 | MO2 |
+------+---------+---------+
| 2 | 100 | 300 |
| 3 | 200 | 400 |
+------+---------+---------+
Run Code Online (Sandbox Code Playgroud)
我知道在select中循环是不可能的.
我想我也许可以使用,CASE但我没有明确的数月,就像我上面的例子,其中只有1月和2月的数据.我将在3月份获得数据.我怎样才能做到这一点?