我是新來的。很高興見到你。想要將標識或標記從HTML/PHP轉發到JS(Keith Wood倒數jQuery插件)
我有點困惑。幾天後,我嘗試修復臭名昭着的「最終倒計時」jQuery插件並讓它運行wth MomentsJS。但我運氣不好。這部紀錄片幾乎不存在非專業網絡編碼器(我不指望)。所以我嘗試了其他的東西......直接MomentsJS,但這導致了很多重新加載(AJAX),特別是如果出現打嗝,並且我不能在頁面上使用多個定時器。然後我回到了基思伍德的倒計時/定時器插件,我終於開始運行。還要感謝StackOverFlow文章。但是,我想優化的代碼 - 而這正是在爲我設置的問題
什麼,我想做的事:
- 我想創建一個簡單的倒計時/定時器的網頁(佈局是目前 不是我關心
- 它必須是服務器時間/時區意識到,而不是專注於 客戶端/瀏覽器時
什麼MODULE小號我使用: - jQuery的 - 基思·伍德的倒計時jQuery插件V2.0.2 - 目前HTML
我想尋找哪些AM來實現: - 我想有一個HTML文件,然後鏈接。 js文件清理 腳本中的主要HTML文件(任何人都不應該看到這一點,並且我在頁面上使用 更多腳本/函數,但無論如何,這將集成 ) - 我想轉發ID /類/數組
這裏是到目前爲止的代碼:
HTML
!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>jQuery Countdown</title>
<link rel="stylesheet" href="jquery.countdown.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="jquery.plugin.js"></script>
<script src="jquery.countdown.js"></script>
<script src="timer.js"></script>
</head>
<body>
COUNTDOWN 1
<div id="defaultCountdown" data-end="Sep 22, 2016 00:00:00 +0000"></div>
</body>
</html>
的JavaScript
(function($){
// TIMER
function serverTime() {
var time = null;
$.ajax({
url: 'servertime.php',
async: false,
dataType: 'text',
success: function (text) {
time = new Date(text);
},
error: function (http, message, exc) {
time = new Date();
}
});
return time;
}
$(function() {
$("#defaultCountdown").countdown({
until: new Date('Sep 22, 2016 00:00:00 +0000'),
serverSync: serverTime
});
});
})(jQuery);
PHP
<?php
$now = new DateTime();
echo $now->format("M j, Y H:i:s O")."\n";
?>
現在這裏是東西:你看到「數據結束」標籤我在div設置,這個值應該被轉發到JS,更具體線路
until: new Date('Sep 22, 2016 00:00:00 +0000'),
因此,而不是冗長的日期,應該有一個從HTML文件中讀出數字值的變量(參見「data-end」),這樣我就不必每次更新計時器時都要弄亂JS文件。如果我想觸發多於一個倒計時/定時器,這也是非常耗時的。但可悲的是,我不知道如何。我嘗試了.attr()代碼,但它不起作用。 JS每天/小時/分鐘(NaN)都會拋出一個錯誤,或根本沒有顯示任何錯誤。
我也想改變一些事情,如果可能的話,即:
- 時間格式(爲類似YYYY/MM/DD小時/分/秒
- 時區(目前,在那裏,這是坐在服務器 GMT + 1,但我想有超過對照)
我是一個大一新生在代碼方面,我可以走動了一些基本的東西,但如果它涉及到實際轉發價值和與他們合作,我迷失在海洋中。
任何及時的幫助將不勝感激 - 也許這是一件非常簡單的事情,我還沒有想到。所以提前謝謝
一般(document.getElementById('defaultCountdown')。dataset.end',所以你可以改變你的代碼爲'until:new Date(document.getElementById('defaultCountdown'))。dataset。結束)' – RamRaider
非常非常感謝你,這爲我工作,併爲我解決了幾個小時的挫折。猜猜JS完全不是我的特長 – MisterSmith