Благодаря нескольким ответам, найденные на переполнение стека я сделал следующую конструкцию, которая работает, как это должно без проблем: https://jsfiddle.net/cL1xw2y5/предварительного активирования связи с JQuery
Реальная проблема заключается в том, что при загрузке страницы это только верхний уровень отображается меню навигации без выбранных элементов. Также, когда какая-либо клавиша верхнего уровня открывает соответствующее боковое меню, в боковом меню также нет элемента. И поэтому контент не отображается.
Как я общий нуб в любом виде программирования я учтиво прошу за любезную помощь со следующими вопросами:
- мне нужна какая-либо один из главных пунктов меню предварительно выбранного с присвоенным боковым меню открывается при загрузке страницы.
- Мне также нужен любой из элементов меню, предварительно выбранных с соответствующим содержимым, отображаемым при загрузке страницы или активированном/предварительно активированном элементе меню верхнего уровня.
Может быть даже в случайном порядке, скажем, случайно активированный элемент меню верхнего уровня показывает свое боковое меню со случайно активированным боковым пунктом меню, отображающим его содержимое.
Любая помощь была бы оценена по-разному. Заранее спасибо.
Надеюсь, что я не прошу слишком многого. :)
Вот JS для JQuery используется для показа/скрытия элементов, которые должны быть обновлены:
$(function() {
$('#sub_1_1 li').click(function() {
$('#sub_1_1 li').removeClass('sub_1_sub_active');
$('#sub_1_2 li').removeClass('sub_1_sub_active');
$(this).addClass("sub_1_sub_active");
});
});
$(function() {
$('#sub_1_2 li').click(function() {
$('#sub_1_1 li').removeClass('sub_1_sub_active');
$('#sub_1_2 li').removeClass('sub_1_sub_active');
$(this).addClass("sub_1_sub_active");
});
});
$(function(){
$('#top a').click(function(e){
hideContentDivs();
var tmp_div = $(this).parent().index();
$('.top div').eq(tmp_div).show();
});
function hideContentDivs(){
$('.top div').each(function(){
$(this).hide();});
}
hideContentDivs();
});
$(function(){
$('#sub_1_1 a').click(function(e){
hideContentDivs();
var tmp_div = $(this).parent().index();
$('.sub_1_1 div').eq(tmp_div).show();
});
function hideContentDivs(){
$('.sub_1_1 div').each(function(){
$(this).hide();});
$('.sub_1_2 div').each(function(){
$(this).hide();});
}
hideContentDivs();
});
$(function(){
$('#sub_1_2 a').click(function(e){
hideContentDivs();
var tmp_div = $(this).parent().index();
$('.sub_1_2 div').eq(tmp_div).show();
});
function hideContentDivs(){
$('.sub_1_1 div').each(function(){
$(this).hide();});
$('.sub_1_2 div').each(function(){
$(this).hide();});
}
hideContentDivs();
});
Остальное можно найти на https://jsfiddle.net/cL1xw2y5/
Во-первых, как вы узнаете, какое меню должно появиться с правой стороны при загрузке страницы? – Incredible
Я думаю, что это можно распознать так же, как оно распознается при нажатии ссылки в верхнем меню. – Garfield