我正在使用这个jquery Count up(http://demo.tutorialzine.com/2012/09/count-up-jquery/),我正试图在柜台到达00:01:05:40(一小时--5分40秒)时发出警报我不是专家,到目前为止,我尝试了以下代码:
<script>
$(document).ready(function(){
var mytime = $('#countdown').html();
if (mytime == "00:01:05:40"){
alert ('Done');
}
});
</script>
源代码:http://tutorialzine.com/2012/09/count-up-jquery/
由于
答案 0 :(得分:3)
使用$('#countdown').html()
将返回#countdown
元素中的所有HTML。如果您自己的版本与您链接的演示类似,则会返回:
<span class="countDays"><span class="position"> <span class="digit static" style="top: 0px; opacity: 1;">0</span> </span> <span class="position"> <span class="digit static" style="top: 0px; opacity: 1;">0</span> </span></span><span class="countDiv countDiv0"></span><span class="countHours"><span class="position"> <span class="digit static" style="top: 0px; opacity: 1;">0</span> </span> <span class="position"> <span class="digit static" style="top: 0px; opacity: 1;">0</span> </span></span><span class="countDiv countDiv1"></span><span class="countMinutes"><span class="position"> <span class="digit static" style="top: 0px; opacity: 1;">0</span> </span> <span class="position"> <span class="digit static" style="top: 0px; opacity: 1;">0</span> </span></span><span class="countDiv countDiv2"></span><span class="countSeconds"><span class="position"> <span class="digit static" style="top: 0px; opacity: 1;">1</span> </span> <span class="position"> <span class="digit static" style="top: 0px; opacity: 1;">7</span> </span></span>
如果要返回数字,可以改为text()
。这最初会给你:
“0 0 0 0 0 2 1 2”
然后我们可以调用replace()
删除这些空格并返回一个字符串,如:
$('#countdown').text().replace(/\s+/g, '');
-> "00000212"
我们可以使用它来代替:
var mytime = $('#countdown').text().replace(/\s+/g, '');
if (mytime == "00010540")
...
您的代码的另一个问题是您只运行一次该检查。由于#countdown
元素每秒都会更改,我们可以添加一个定时器,每秒检查一次该值:
setInterval(function() {
// Your function here
var mytime = $('#countdown').text().replace(/\s+/g, '');
if (mytime == "00010540")
...
}, 1000);
这里,1000
是1000毫秒,等于1秒。
答案 1 :(得分:1)
$('#countdown').html()
将返回所有html元素。
尝试使用.text()
,这只会返回文字。
答案 2 :(得分:1)
<script>
$(document).ready(function()
{
setInterval(function()
{
var mytime = $('#countdown').text();
if (mytime == "00:01:05:40")
{
alert ('Done');
}
}, 1000);
});
</script>
答案 3 :(得分:0)
尝试使用:
$(function(){
setInterval(function(){
var mytime = $('#countdown').text().replace(/\s+/g, '');
if (mytime == "00010540"){
alert ('Done');
}
},1000);
}
这将每半秒运行一次你的功能,看看它是否符合你想要的时间。