Я только что выучил jQuery за последние два дня, поэтому я немного новичок в этом.
Я пытаюсь создать простую навигационную боковую панель. Я построил столбцы в виде таблиц, и когда пользователь переходит к определенной ячейке, эта ячейка загорается, и рядом с исходной панелью появляется другая суб-навигационная панель.
Оригинальная полоса появляется сразу под заголовком. Таким образом, я использовал следующий синтаксис:
var headerHeight = $('#headerTable').height();
$('#selectStart').offset({left: 0, top: headerHeight});
....
<table id="selectStart" class="selector1">
<tr><td id="sel1Projects" class="selector1">
....
Пока все хорошо. Теперь я хочу сделать так, чтобы, когда пользователь нажимал на в этой таблице, соответствующая под-навигационная панель появлялась сразу справа от первой навигационной панели. Поэтому я написал две новые таблицы для проверки:
<table id="selectProjects" id="table2" class="selector2" class="table2">
<tr><td id="sel2Project1" class="selector2">
....
<table id="selectDevelopment" id="table2" class="selector2" class="table2">
<tr><td id="sel2Dev1" class="selector2">
Но их причиной является настоящая боль в шее. Когда я просто делаю
var select1Width = $('#selectStart').width();
$('#selectProjects').offset({left: select1Width, top: headerHeight});
$('#selectDevelopment').offset({left: select1Width, top: headerHeight});
Работает отлично; однако, это не очень хорошее кодирование - я должен сгруппировать все похожие таблицы, чтобы я мог расположить их одинаково, а затем показать только ту, которую я хочу, чтобы пользователь видел в то время.
$('.selector2').offset(...)
прекрасно работает при выборе всех таблиц, но также помещает все буквы в одно и то же место, так как все они используют один и тот же класс для целей стилизации. Однако пока это все, что я ожидал.
$('.selector2 table').offset(...)
Я ожидал, что это просто выберет таблицы в этом классе. Это ничего не сделало. Есть ли проблема с тем, как я его печатаю?
После некоторого разочарования я добавил второй класс «table2» к каждому из них.
$('#table2').offset(...)
Все еще ничего. Поэтому я добавил новый класс для них
$('.table2').offset(...)
нет
Ничто; однако, использование другого класса, который они разделяют, selector2, работает. И это не может быть проблемой отсутствия необходимости выбирать таблицы, потому что, когда я выбирал таблицы по отдельности, я получал желаемый результат.
Так что я делаю не так и чего не понимаю?