【问题标题】:duedate counter works in Chrome but not Firefox NaN errorDuedate 计数器适用于 Chrome,但不适用于 Firefox NaN 错误
【发布时间】:2017-02-09 03:41:13
【问题描述】:

当涉及到这个 js 代码时,Firefox 不知何故无法工作。但是它在 Chrome 中运行良好。

  • 这和document.getElementById("days").innerText = d;有关系吗?

  • 我需要 parseInt 吗?如果我必须这样做,我知道该怎么做..哈哈

  • 主要问题是如何让它在 Firefox 中工作?

 <div id="dueDate-counter">
    	<table>
    		<tr>
    			<td>days</td>
    			<td>hrs</td>
    			<td>mns</td>
    			<td>secs</td>
    		</tr>
    		<tr>
    			<td id="days"></td>
    			<td id="hours"></td>
    			<td id="minutes"></td>
    			<td id="seconds"></td>
    		</tr>

    	</table> 

    	<script type="text/javascript">
    		function countdown() {
    			var now = new Date();
    			var eventDate = new Date("<%= reservation.due_date %>");
    			<%= puts "here is reservation !!!!!!!" %>;
    			<%= puts "#{reservation.due_date}" %>;
    			var currentTime = now.getTime();
    			var eventTime = eventDate.getTime();

    			var remTime = eventTime - currentTime;

    			var s = Math.floor(remTime / 1000);
    			var m = Math.floor(s / 60);
    			var h = Math.floor(m / 60);
    			var d = Math.floor(h / 24);

    			h %= 24;
    			m %= 60;
    			s %= 60;

    			h = (h < 10) ? "0" + h : h;
    			m = (m < 10) ? "0" + m : m;
    			s = (s < 10) ? "0" + s : s;

    			document.getElementById("days").textContent = d;
    			document.getElementById("days").innerText = d;

    			document.getElementById("hours").textContent = h;
    			document.getElementById("minutes").textContent = m;
    			document.getElementById("seconds").textContent = s;

    				setTimeout(countdown, 1000);
    					}

    				countdown();

    	</script>

    </div>

【问题讨论】:

    标签: javascript jquery html ruby-on-rails firefox


    【解决方案1】:

    Chrome 比其他带有 Date 对象的浏览器更灵活。确保您的due_dateeventDateconsole.log 格式相同。 getTime() 返回毫秒,因此您的 reservation.due_date 也必须以毫秒为单位。

    【讨论】:

    • 如何将此日期时间转换为毫秒? .在 js 脚本中,我如何获取 reservation.due_date 并以毫秒为单位进行转换?我以为我已经用.getTime() 做到了
    • 你可以从due_date获取日期的部分,比如年、月、日、分钟然后做var eventDate = new Date(year, month, day)
    猜你喜欢
    • 2016-09-01
    • 2018-09-08
    • 2014-11-17
    • 2015-06-09
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多