我有一个表,每行包含一个时间。该表应在顶部显示一天中最接近的时间。例如,如果当前时间是 12:03,那么表上的第一行应该是 12:00。基本上表格会根据一天中的时间自动滚动。
我的代码在 Visual Studio 开发环境 (Cassini) 中运行时运行良好。该代码在这里也可以在jsFiddle中使用,但是当我在服务器中安装代码或使用IIS Express运行它时,位置总是返回0。我不明白为什么jquery位置不起作用或在IIS或IIS express时返回0用来。
下面是jquery代码:
$(document).ready(function () {
var tableID = $('.dcBooking')[0].id; //get the id of table.
var layerID = $('#' + tableID).parent().closest('div').attr('id'); //get the id of the div created by .Net
var currentdate = new Date();
var hour = currentdate.getHours();
var min = currentdate.getMinutes();
var mod = min % 10;
min = (min - mod); //Rounded to the closest previous 10 minutes
var id = getID(hour, min);
var timeTag = $('#' + id);
$('#' + layerID).animate({ scrollTop: timeTag.position().top }, 'slow');
});
HTML 示例:
<div id="id1" style="overflow-x:visible;overflow-y:scroll;height:350px;position:relative;">
<table class="dcBooking">
<tr id="h08_00_0"><td>08:00</td><td>Joe</td></tr>
<tr id="h12_10_0"><td>12:10</td><td>John</td></tr>
:
:
<tr id="h17_00_0"><td>07_00</td><td>Anna</td></tr>
</table>
</div>
我已经不知道为什么代码在 Cassini 或 jsFiddle 中运行时会返回一个位置,但在安装在服务器上或在 IIS express 中运行时却没有。我考虑过安全问题,但它在我的计算机上运行 Cassini,而不是 IIS express,所以我认为一定是一些 IIS 设置,但我不知道在 IIS 中查看哪里。谁能指出我看什么或在哪里看或知道问题的原因是什么?