需要Javascript重构协助

时间:2014-02-06 19:51:34

标签: javascript ide editor

我编写了这段代码(javascript倒计时),我必须将其中的141个放在页面上。 Doese任何人都知道是否有某种方式(程序,脚本等)将执行以下操作: 从function cdtd1更改为function cdtd2var sad1 = new Date();更改为var sad2 = new Date();等。

var d = new Date();
var n = d.getDay();
if(n == 1 || n == 2 || n == 3 || n == 4 || n == 5){
var timer1;
function cdtd1() {
    var sad1 = new Date();
    var dolazak1 = new Date(sad1.getFullYear(),sad1.getMonth(),sad1.getDate(),23,00,00);
    var timeDiff1 = dolazak1.getTime() - sad1.getTime();
    if (timeDiff1 <= 0) {
        clearInterval(timer1);
        $('#dani1Box').remove();
        $('#sati1Box').remove();
        $('#minute1Box').remove();
        $('#sekunde1Box').remove();


    }
    var sekunde1 = Math.floor(timeDiff1 / 1000);
    var minute1 = Math.floor(sekunde1 / 60);
    var sati1 = Math.floor(minute1 / 60);
    var dani1 = Math.floor(sati1 / 24);
    sati1 %= 24;
    minute1 %= 60;
    sekunde1 %= 60;

    $("#dani1Box").html(dani1);
    $("#sati1Box").html('7-Dubrava ' + sati1 + ':');
    $("#minute1Box").html(minute1 + ':');
    $("#sekunde1Box").html(sekunde1);

    timer1 = setTimeout(cdtd1, 1000);
}

$(document).ready(function() {
     cdtd1();
});
}

2 个答案:

答案 0 :(得分:0)

JetBrains Webstorm具有出色的javascript重构功能,包括重命名对象。

答案 1 :(得分:0)

我相信你要找的是一个javscript循环操作。

for(var i = 1; i <= 141; i++) {
  console.log(i);
  // put code in here that has to run 141 times modifying the html target elements by using string concatenation
  $('#target' + i);  // This would be come #target1, #target2, #target3 etc up to 141
}

你特别询问变量重命名在这种情况下是不必要的,因为你在每次循环中重复使用变量。

由于您正在使用时间信息,因此您可能需要查看此Javascript库:http://momentjs.com/并处理有关此特定部分的一些信息:http://momentjs.com/docs/#/durations/