2012-04-06 87 views
0

我想要將以下javascript代碼更改爲jquery代碼,它是如何工作的?將javascript代碼更改爲jquery代碼,它如何?

已完成變更hourOffset在日期3, 219, 22

DEMO:http://jsfiddle.net/zJRDC/

<script type="text/javascript"> 
    var interval = self.setInterval("clock()", 1000); 
    function clock() { 
     var date = new Date(); 
     var hourOffset = 3; 
     date.setUTCHours(date.getUTCHours(), date.getUTCMinutes()); 
     var time = date.getTime(); 
     date.setUTCFullYear(date.getUTCFullYear(), 3, 21); 
     var dstStart = date.getTime(); 
     date.setUTCFullYear(date.getUTCFullYear(), 9, 22); 
     var dstEnd = date.getTime(); 
     if (time > dstStart && time < dstEnd){ hourOffset = 4;} 
     date.setUTCHours(date.getUTCHours() + hourOffset, date.getUTCMinutes() + 30); 
     var output = date.getUTCHours() + ":" + date.getUTCMinutes() + ":" + date.getUTCSeconds(); 
     document.getElementById("clock").innerHTML = output 
    } 
    </script> 
<div id="clock"></div>​ 
+0

代碼是否工作? – 2012-04-06 09:40:10

+3

你有沒有很好的理由用jQuery替換這個簡單的代碼片段......?使用jQuery不會使代碼更加真棒。您當前的代碼使用良好支持的方法。絕對不需要使用jQuery。 – 2012-04-06 09:40:18

+4

JavaScript是一種編程語言,jQuery是一個Web瀏覽器框架(它本身就是用JavaScript編寫的)。 jQuery不是一種語言。除此之外,你的DST計算是錯誤的。 – Lucero 2012-04-06 09:41:12

回答

3

還有那正​​是一個行,其中jQuery的可能適用:

document.getElementById("clock").innerHTML = output 

與jQuery的可能是

$("#clock").html(output); 

使用$來查找元素,其中包括一個bug in getElementById in earlier versions of IE解決方法,然後使用html方法設置元素上的標記(這非常類似於設置innerHTML   —,但是,對於某些workaroun在某些情況下ds用於有問題的位;他們可能不適用於這個特定的代碼)。


請注意,jQuery只是一個用JavaScript編寫的框架。它平滑了一些與DOM有關的瀏覽器差異,並提供了許多方便的實用程序功能,但它並不是獨立於JavaScript的東西。你寫JavaScript代碼,你可以選擇使用 jQuery(就像任何其他庫)。

+0

但是它在這裏不起作用:http://jsfiddle.net/zJRDC/1/ – 2012-04-06 09:45:52

+1

@jenniferJolie:那是因爲你使用'onload'加載jQuery,但是之前運行你的代碼。如果你足夠早的加載jQuery,以防你的代碼在它出現之前不嘗試使用它(或者稍後反過來將代碼放在你的代碼中),它就可以工作得很好:http://jsfiddle.net/zJRDC/2/ – 2012-04-06 09:47:17

0

jQuery是已經用JavaScript來完成。沒有什麼可以轉換,因爲JQuery不是一種語言;)。

1

如果您的代碼有效。你並不需要jquery。除非你想創建可重用的函數或你的自定義插件。

快速樣品使用時鐘()的jQuery插件(未測試)

(function($){ 

    $.fn.myClock = function(timeout) { 

    var interval = setInterval("clock()", timeout); 

    function clock() { 
     //..calculate date output 
     var output = //... 
     this.html(output) 
    } 
    }; 
})(jQuery); 

然後使用你的插件

$(document).ready(function(){ 
    $('#clock').myClock(1000); 
} 

看到Plugins/Authoringlearn-how-to-create-your-own-jquery-plugin