В моем сценарии, рассматриваемая функция находится в концефункция JQuery стрельбы рано
$(jquery).ready(function(){...});
По какой-то причине она обжига до загрузки DOM. Я опубликую весь сценарий ниже. Меня интересует, что происходит на строках 246-248.
ЭТО КОЛЯСКИ ЧАСТЬ:
alert(listObj.listOffset);
listObj.allLists.offset({ left: listObj.listOffset });
listObj.allLists[listIndex].focus();
A Little More Detail
Эта часть сценария пытается поставить акцент на сегодня. Существует объект макета, который должен включить этот процесс. Он должен запускаться после загрузки DOM, чтобы он мог вычислять переменные смещения компоновки. Когда он загружается рано, смещение заканчивается на 15000 пикселей вместо 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
Священный код Бэтмен. Не могли бы вы вырезать часть этой стены? – psynnott
Удачи вам! – Alvaro
Проверьте имя аватара/пользователя. С таким количеством рук ... много кода! LOL – melancia