Показать время работы

Я хотел использовать D3.js для отображения времени выполнения предстоящего проекта, которым я занимаюсь. Он отлично работает на localhost, но мой JSFiddle не обновляется автоматически. Есть ли проблема с настройкой вещей для JSFiddle?

Я добавил внешние ресурсы для jQuery и D3js. Когда я проверяю элемент, исходный код для result в JSFiddle выглядит так же, как в localhost

JSFiddle для работы.

var d, h, m, s, DayNight;
currtime();

$(document).ready(function () {
    setInterval("currtime()", 1000);
});

d3.select("#runtime")
    .append("text")
    .text("Current time: ")
    .append("span")
    .attr("id", "time")
    .text(h + ":" + m + ":" + s + " " + DayNight);

function currtime() {
    d = new Date();
    h = d.getHours();
    m = d.getMinutes();
    s = d.getSeconds();
    DayNight = "PM";
    if (h>12) h=h-12;
    if (h < 12) DayNight = "AM";
    if (m <= 9) m = "0" + m;
    if (s <= 9) s = "0" + s;

    d3.select("#runtime")
        .select("#time")
        .text(h + ":" + m + ":" + s + " " + DayNight);
};

person EnigmaRM    schedule 01.05.2013    source источник
comment
У вас будет 14:XX:XX PM   -  person epascarello    schedule 01.05.2013
comment
О Боже. Я бы, наверное, даже не заметил этого. Спасибо. Исправлено.   -  person EnigmaRM    schedule 01.05.2013


Ответы (1)


Глядя на консоль JavaScript, вы можете видеть, что происходит. currtime() is not defined Также eval — зло (даже внутри setInterval()). Вот обновленная скрипка, которая работает. Измените это:

$(document).ready(function () {
    setInterval("currtime()", 1000);
});

к этому:

$(document).ready(function () {
    setInterval(currtime, 1000);
});
person Jason Sperske    schedule 01.05.2013
comment
eval - это зло, не знаю, что это значит. - person EnigmaRM; 01.05.2013
comment
Работает отлично. Я даже не думал смотреть на свою консоль в JSFiddle.... ‹doh› - person EnigmaRM; 01.05.2013
comment
jslinterrors.com/eval-is-evil ‹ — это действительно хорошая привычка каждый раз, когда вы видите, что строка оценивается в коде, чтобы вызвать ее - person Jason Sperske; 01.05.2013
comment
Это имеет большой смысл. Спасибо за ссылку и помощь. - person EnigmaRM; 01.05.2013