带参数的Jquery函数

时间:2013-07-19 13:03:25

标签: javascript jquery function arguments datetime-format

这里我有一个函数,它将根据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次因为我必须将数字转换为时间格式?

2 个答案:

答案 0 :(得分: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";
}

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

答案 1 :(得分:0)

你的意思是:

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

function updateTooltipContent(a, b) {