1

在这里,我有一个函数将根据 jquery 工具提示中的 div 对象宽度显示时间。

现在我想用同一个函数来计算“开始时间”和“结束时间”,但我想用同一个函数,而不是写新的,所以我必须创建这个函数来带参数,但逻辑上我不太明白如何让它发生。

SO:在工具提示中我必须显示:

var time = $( this ).width();
 var startTime = $( this ).position().left;
 var endTime = startTime + time;

这里也是工具提示代码:

$(document).tooltip({
        items: ".draggable",
        track: true,
        content: updateTooltipContent
    });

和我必须添加参数的函数:

function updateTooltipContent() {
    var time = $(this).width();
    if (time < 0) {
        time = 0;
    }

    var seconds = time % 60;
    var minutes = (time - seconds) / 60;
    var output;

    if (minutes >= 10) {
        output = "" + minutes;
    } else {
        output = "0" + minutes;
    }
    output += "h ";
    if (seconds >= 10) {
        output += seconds;
    } else {
        output += "0" + seconds;
    }

    return output + "min";
}
});

现在工具提示必须显示:"spending time" + time + "start time" + startTime + "end time" + endTime;

如何使用 argment 使这个函数使用 3 次,因为我必须将数字转换为时间格式?

4

2 回答 2

1

我真的不明白你在问什么,但如果只是你需要“updateTooltipContent”函数来使用时间格式化程序,你会这样做:

$(document).tooltip({
    items: ".draggable",
    track: true,
    content: function() {
      return formatTime($(this).width()) + formatTime(whatever) + formatTime(somethingElse);
    }
});

function formatTime( time ) {
    if (time < 0) {
        time = 0;
    }

    var seconds = time % 60;
    var minutes = (time - seconds) / 60;
    var output;

    if (minutes >= 10) {
        output = "" + minutes;
    } else {
        output = "0" + minutes;
    }
    output += "h ";
    if (seconds >= 10) {
        output += seconds;
    } else {
        output += "0" + seconds;
    }

    return output + "min";
}

从元素的宽度获取时间值似乎很奇怪,但无论如何。

于 2013-07-19T13:32:13.567 回答
0

你的意思是这个:

$(document).tooltip({
    items: ".draggable",
    track: true,
    content: updateTooltipContent(a, b)
});

function updateTooltipContent(a, b) {
于 2013-07-19T13:09:22.397 回答