Я хотел бы сделать мое раскрывающееся меню обновляемым из одного файла.
Позвольте мне объяснить: на моем веб-сайте у меня есть общее меню, это меню находится в файле с именем nav.html каждый раз, когда я добавляю новый раздел на свой веб-сайт, мне просто нужно перейти к этому файлу nav.html, и я помещаю туда свой новый раздел Это не позволяет мне переходить на каждую вкладку в Интернете и помещать новый раздел один за другим . Я хочу сделать то же самое, но с выпадающим меню, которое у меня есть. Если бы кто-нибудь мог сказать мне, как сделать этот выпадающий раздел обновляемым из одного файла, это было бы здорово. Это был бы один файл, куда бы я помещал каждый новый раздел.
Ставлю то, что использую сейчас:
<SCRIPT LANGUAGE="JavaScript">
function salta(Sel)
{
if (Sel.ad.selectedIndex != 0)
{
document.location=Sel.ad.options[Sel.ad.selectedIndex].value
}
}
</SCRIPT>
<div>
<form>
<select name="ad" onchange="salta(this.form)">
<option selected>Artículos:
<option value=“articulo1.html”>ejemplo 1
<option value="articulo2.html”>Ejemplo 2
</select>
</form>
</div>
Я хочу, чтобы где-то был файл, который можно легко обновить. Если я добавляю статьи в раскрывающийся список, а сейчас у меня уже есть 8 статей, каждый раз, когда я добавляю новый файл, я вынужден открывать 8 статей, которые представляют собой 8 разных html-файлов. Когда мне будет 25, будет хлопотно открывать их все по одному. Я думаю, что лучшим должен быть файл html или javascript, в котором находится мое редактируемое меню.
Вместо того, чтобы создавать документ,
HTML
я предлагаю вам создатьscript
раскрывающийся список и вставить его туда, куда вы хотите. Что-то вроде этого:Поскольку некоторые из этих вещей не работают в некоторых браузерах, вы можете преобразовать этот код в ES5 отсюда Babeljs.io
Я оставляю вам пару альтернатив, основанных на том, что вы говорите в комментариях ниже. Они похожи, они состоят из HTML-файла в файле dropdown.html и последующей загрузки его содержимого с помощью JavaScript (для простоты я использую jQuery и метод,
load()
но это можно сделать с помощью чистого JavaScript и вызова AJAX).Общее для обоих вариантов
Там, где вы хотите разместить раскрывающийся список, поместите
div
пустой идентификатор «выпадающий список» (например) следующим образом:Итак, после загрузки jQuery вы можете загрузить dropdown.html с помощью метода загрузки следующим образом:
И это загрузит содержимое dropdown.html в элемент с идентификатором «выпадающий».
Альтернатива 1: HTML + JavaScript
Если у вас есть файл с кодом JavaScript, добавьте функцию перенаправления страницы:
И ваш файл dropdown.html будет выглядеть примерно так:
Альтернатива 2: HTML + CSS
В этом варианте вам не нужно иметь функцию JavaScript в вашем коде (кроме загрузки страницы с помощью AJAX), потому что все будет сделано с помощью HTML и CSS. Содержимое dropdown.html может быть примерно таким (я сделал его исполняемым, чтобы вы могли видеть, что он имитирует раскрывающийся список):
А поскольку это ссылки, вам больше не понадобится дополнительный код JavaScript. Фактически, вы можете добавить CSS в свой собственный файл CSS, и это ускорит загрузку выпадающего меню. Вам просто нужно настроить его.