在我的脚本中,有问题的函数位于
的末尾$(jquery).ready(function(){...});
由于某种原因,它在加载DOM之前触发。我将在下面发布整个脚本。我对第246-248行发生的事情感兴趣。
这是BUGGY PART :
alert(listObj.listOffset);
listObj.allLists.offset({ left: listObj.listOffset });
listObj.allLists[listIndex].focus();
更多细节
脚本的这个特殊部分正试图将重点放在今天。有一个布局对象应该启用此过程。它需要在DOM加载后运行,以便它可以计算布局偏移量变量。当它提前加载时,偏移量最终为15000px而不是400ish。
如果你可以提供一些东西要寻找,这可能有助于我弄明白,即使你无法找到解决方案。我明白这是很多代码。这是一个企业应用程序,有很多人在处理它。
我的脚本文件部分
// bind listeners to time input fields
$('.timeBlock').on("blur", validateHrs);
$('.timeBlock').keyup(function () {
var listObj = new LayoutObj();
listObj.tabNav();
});
// bind listeners to prev/next buttons
$('.previous, .next').on("click", function () {
var str = $(this).attr('class');
var obj = new LayoutObj();
obj.navDates(str);
});
// calculate totals for stored inputs
totalHrs();
// highlight today's date
var today = new Date();
var thisMonth = today.getMonth();
var thisDate = today.getDate();
var dateStr = '';
var splitDates = new Array();
var fullDates = new Array();
var listIndex;
var listObj;
fullDates = $('.dateNum');
fullDates.each(function (index) {
splitDates[index] = $(this).text().split('/');
});
for (var i = 0; i < splitDates.length; i++) {
if (thisMonth === (parseInt(splitDates[i][0], 10) - 1) && thisDate === parseInt(splitDates[i][1], 10)) {
thisMonth += 1;
thisMonth += '';
thisDate += '';
if (thisMonth.length < 2) {
dateStr = "0" + thisMonth + "/";
}
else {
dateStr = thisMonth + "/";
}
if (thisDate.length < 2) {
dateStr += "0" + thisDate;
}
else {
dateStr += thisDate;
}
fullDates[i].parentNode.setAttribute('class', 'date today');
listIndex = i;
}
//The following code will shift the job lists to reveal today's date ///////, if it is not in the view on load.
}
var listObj = new LayoutObj();
listObj.listOffset = listObj.cellWidth * (listIndex + 1);
//alert(listObj.listOffset);
listObj.allLists.offset({ left: listObj.listOffset });
listObj.allLists[listIndex].focus();
});
LayoutObj
答案 0 :(得分:1)
您应该使用:
$(document).ready(function () { ... });
当你说在加载DOM之前它会激活时,在脚本中你已经将整个代码放入文档就绪块中。这些代码是否会影响尺寸?
您确定代码没有损坏吗?例如,您可以将该块拉出并将其绑定到单击事件。
答案 1 :(得分:0)
问题是第三方脚本!!愚蠢的脚本!