如何在mvc3中的页面加载上调用javascript函数

Bha*_*gav 5 javascript jquery asp.net-mvc-3

我有一个javascript函数

function relativeTime(time) {

var period = new Date(time);
var delta = new Date() - period;

if (delta <= 10000) {   // Less than 10 seconds ago
    return 'Just now';
}

var units = null;

var conversions = {
    millisecond: 1,     // ms -> ms
    second: 1000,   // ms -> sec
    minute: 60,         // sec -> min
    hour: 60,       // min -> hour
    day: 24,        // hour -> day
    month: 30,      // day -> month (roughly)
    year: 12            // month -> year
};

for (var key in conversions) {
    if (delta < conversions[key]) {
        break;
    }
    else {
        units = key;
        delta = delta / conversions[key];
    }
}

// Pluralize if necessary:

delta = Math.floor(delta);
if (delta !== 1) { units += 's'; }
return [delta, units, "ago"].join(' ');

}
Run Code Online (Sandbox Code Playgroud)

像facebook评论那样给出相对时差.

如何在我的视图中调用此函数.我正在使用mvc3.我从数据库那里得到时间,

        <span>
            @item.wallTimeStamp
        </span>
Run Code Online (Sandbox Code Playgroud)

而不是我想调用javascript函数,

我有一个标签

<span>
    //call javascript function that will display time difference in this tag
   </span>
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Boz*_*zho 5

$(document).ready(function() {
 //called when the document is ready
});
Run Code Online (Sandbox Code Playgroud)

  • @Berry Ligtermoet他标记了它。两次;) (4认同)

arc*_*hil 5

首先,输入范围ID(或其他用于识别的信息)

<span id="relativeTime">
</span>
Run Code Online (Sandbox Code Playgroud)

然后,使用javascript,首先使用您的函数计算该相对时间值。然后,使用jQuery.text(),在span内设置该值

<script>

$(document).ready(function() {
  var wallTimeStamp = '@item.wallTimeStamp';

  var relativeTimeValue = relativeTime(wallTimeStamp);

  $('#relativeTime').text(relativeTimeValue);
});

</scipt>
Run Code Online (Sandbox Code Playgroud)

这种跨度可能需要修改代码