0

我想将以下 javascript 代码更改为 jquery 代码,怎么样?

随着hourOffset日期3, 219, 22.

演示: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>​
4

3 回答 3

3

jQuery 可能适用于其中的一行:

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

使用 jQuery 可以是

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

这用于$查找元素,其中包括针对早期版本 IE 中的错误getElementById的解决方法,然后使用该html方法在元素上设置标记(这非常类似于设置innerHTML - 不过,再次使用一些解决方法来解决问题在某些情况下位;它们可能不适用于此特定代码)。


请注意,jQuery 只是一个用 JavaScript 编写的框架。它消除了处理 DOM 的一些浏览器差异,并提供了许多方便的实用程序功能,但它并不是与 JavaScript 分开的东西。您编写 JavaScript 代码,并且可以选择在其中使用jQuery(就像任何其他库一样)。

于 2012-04-06T09:42:39.853 回答
1

如果您的代码有效。你真的不需要jquery。除非您想创建可重用的功能或自定义插件。

使用 clock() 作为 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);
}

请参阅插件/创作学习如何创建您自己的 jquery 插件

于 2012-04-06T10:15:26.077 回答
0

JQuery 已经用 JavaScript 完成了。没有什么可以转换的,因为 JQuery 不是一种语言;)。

于 2012-04-06T09:42:29.110 回答