Модераторы: Illuminaty
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Небольшой вопрос про выпадающее меню 
:(
    Опции темы
Cobalt
Дата 2.3.2011, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 31.8.2006

Репутация: нет
Всего: 1



Привет всем, я вообщем нуб сразу предупреждаю.
Дело такое, есть древний сайт, написан на html + css + javascript  для выпадающего меню.
меню уже почти нигде не работает, встал вопрос о его замене, проштудировав всякие решения css в сети, я понял что почти все пишутся по типу
Код


<li><a href="..\">Главная</a>
    <ul>
            <li><a href="..\">Пункт 1</a></li>
            <li><a href="..\">Пункт 2</a></li>
            <li><a href="..\">Пункт 3</a></li>
        </ul>
                 </li>


вопрос такой, а что если надо добавить пункт меню, придется редактировать каждую страницу на всем сайте? 
может есть какой другой способ, фрэймы какие нить там smile 

 
--------------------
Стоишь на берегу И чувствуешь соленый запах ветра, Что веет с моря,И знаешь что свободен ты, и жизнь лишь началась....И губы жжет.. подруги поцелуй, Пропитанный слезой!
PM MAIL ICQ   Вверх
Molodec
Дата 2.3.2011, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 20.12.2010
Где: Украина

Репутация: нет
Всего: 1



Попробуйте используя jQuery написать скрипт, который подключить для всех страниц. Данный скрипт будет сам добавлять html:
Код

<li><a href="..\">Главная</a>
    <ul>
            <li><a href="..\">Пункт 1</a></li>
            <li><a href="..\">Пункт 2</a></li>
            <li><a href="..\">Пункт 3</a></li>
        </ul>
                 </li>

с помощью методов after(), html().... 
Есть уже и варианты по лучше... гораздо... Используйте плагины. 
Удачи Вам!  smile 
PM MAIL   Вверх
kovalenko123
Дата 2.3.2011, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 12.5.2008

Репутация: нет
Всего: 1



Molodec, 
Подсказал верное направление

только вот метод используйте load 


PM MAIL ICQ   Вверх
Cobalt
Дата 3.3.2011, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 31.8.2006

Репутация: нет
Всего: 1



Цитата(Molodec @  2.3.2011,  17:41 Найти цитируемый пост)
Попробуйте используя jQuery написать скрипт, который подключить для всех страниц. Данный скрипт будет сам добавлять html:

немного не понял методику, что куда откуда будет добавлять скрипт smile 

мало понял по Load(), но не работает ли он также как и фрэйм? помещая в нужное место внешний хтмл smile 
--------------------
Стоишь на берегу И чувствуешь соленый запах ветра, Что веет с моря,И знаешь что свободен ты, и жизнь лишь началась....И губы жжет.. подруги поцелуй, Пропитанный слезой!
PM MAIL ICQ   Вверх
Molodec
Дата 3.3.2011, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 20.12.2010
Где: Украина

Репутация: нет
Всего: 1



Цитата(Cobalt @  3.3.2011,  08:51 Найти цитируемый пост)
немного не понял методику, что куда откуда будет добавлять скрипт

Зачем строить здесь ajax, чтобы меню подгружалось с другой страницы? Не легче ли все в одном скрипте? Кому как удобно, но вот несколько вариантов, как поступил бы я:
Код

$(document).ready(function(){
    $("Селектор элемента за которым располагается меню").
after("<li><a href=\"..\">Главная</a> <ul><li><a href=\"..\">Пункт 1</a></li><li><a href=\"..\">Пункт 2</a></li><li><a href=\"..\">Пункт 3</a></li></ul></li>");
})


Код

$(document).ready(function(){
    $("Селектор элемента в котором располагается меню")
.append("<li><a href=\"..\">Главная</a> <ul><li><a href=\"..\">Пункт 1</a></li><li><a href=\"..\">Пункт 2</a></li><li><a href=\"..\">Пункт 3</a></li></ul></li>");
})


        
Код

$(document).ready(function(){
    var a = $("Селектор элемента в котором располагается меню");
    a.html(a.html()+"<li><a href=\"..\">Главная</a> <ul><li><a href=\"..\">Пункт 1</a></li><li><a href=\"..\">Пункт 2</a></li><li><a href=\"..\">Пункт 3</a></li></ul></li>");
})


Код

$(document).ready(function(){
    var a = $("Селектор элемента в котором располагается меню");
    a.html("<li><a href=\"..\">Главная</a> <ul><li><a href=\"..\">Пункт 1</a></li><li><a href=\"..\">Пункт 2</a></li><li><a href=\"..\">Пункт 3</a></li></ul></li>"+a.html());
})

Безусловно, есть и лучше способы, но при таком способе, с низкой скоростью Интернет, страница вместе с меню будет загружена не много быстрее. Так как не требуется повторно соединяться. 
Цитата(Cobalt @  3.3.2011,  08:51 Найти цитируемый пост)
мало понял по Load(), но не работает ли он также как и фрэйм? помещая в нужное место внешний хтмл

Нет. Он берет Div и в него подгружает только тот контент страницы, который Вы укажете. Допустим $("div#CobaltMenu").load("MenuPage.htm div#menu");
В таком случае в указанный div на странице он подгрузит содержимое div с id=menu со страницы MenuPage.htm. Выбирать Вам какой вариант лучше. В любом случае, чтобы из этого Вы не выбрали все будет работать.  smile 

Это сообщение отредактировал(а) Molodec - 3.3.2011, 09:23
PM MAIL   Вверх
Cobalt
Дата 3.3.2011, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 31.8.2006

Репутация: нет
Всего: 1



Molodec,  smile спасибо
буду пробовать, чую будет еще не мало вопросов)) и по использованию скрипта, и по самому меню smile 
--------------------
Стоишь на берегу И чувствуешь соленый запах ветра, Что веет с моря,И знаешь что свободен ты, и жизнь лишь началась....И губы жжет.. подруги поцелуй, Пропитанный слезой!
PM MAIL ICQ   Вверх
Molodec
Дата 3.3.2011, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 20.12.2010
Где: Украина

Репутация: нет
Всего: 1



Цитата(Cobalt @  3.3.2011,  10:51 Найти цитируемый пост)
буду пробовать, чую будет еще не мало вопросов)) и по использованию скрипта, и по самому меню

Не за что. 
Будут вопросы - задавайте. Попробуем помочь.  smile 
В общем то селекторы в jquery строятся на селекторах css. Только более гибкие.  А основных функций там не так уж и много. Тем более они похожи. Так что выучить не очень то и сложно smile Зато как полезно... smile 
PM MAIL   Вверх
Cobalt
Дата 4.3.2011, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 31.8.2006

Репутация: нет
Всего: 1



вообщем пока возникли такие вопросы,
1. из разряда тупых вопросов: что означает div#CobaltMenu, почему впереди див

2. с помощью 

Код

$(document).ready(function(){
    $("Селектор элемента в котором располагается меню")
.append("<li><a href=\"..\">Главная</a> 
<ul><li><a href=\"..\">Пункт 1</a></li><li><a href=\"..\">Пункт 2</a></li>
<li><a href=\"..\">Пункт 3</a></li></ul></li>");
})

можно любой код засунуть, и с вызовом функций типа onmouseover="Menu" onmouseout="Menu"?
и моно простенький пример, вообще как это пишется smile 
в смысле файл хтмл,и остальные
--------------------
Стоишь на берегу И чувствуешь соленый запах ветра, Что веет с моря,И знаешь что свободен ты, и жизнь лишь началась....И губы жжет.. подруги поцелуй, Пропитанный слезой!
PM MAIL ICQ   Вверх
SelenIT
Дата 4.3.2011, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 97
Всего: 401



Возможно, покажусь старомодным, но по-моему всё же разумнее генерить такое меню серверным скриптом или инклюдом. Любой нормальный хостинг поддерживает. И все ссылки меню будут автоматом видны поисковикам, в отличие от яваскриптовых наворотов. К тому же не стоит забывать про Оперу Мини (выполняющую JS через перезагрузку на сервере), юзеров FF с аддоном NoScript и т.п...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Cobalt
Дата 4.3.2011, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 31.8.2006

Репутация: нет
Всего: 1



Цитата(SelenIT @  4.3.2011,  13:17 Найти цитируемый пост)
Возможно, покажусь старомодным, но по-моему всё же разумнее генерить такое меню серверным скриптом или инклюдом.

незнаю в чем старомодность, ибо это все для меня шаманство  smile 

опера мини на данном сайте врядли актуальна, это бизнес-сайт так моно сказать))

Цитата(SelenIT @  4.3.2011,  13:17 Найти цитируемый пост)
юзеров FF с аддоном NoScript и т.п... 

эт еще шо такое, кстати яндекс "В качестве скриптового языка мы будем использовать server-side JavaScript, потому как современные сайты все равно предполагают большое количество всякого Ajax, и выдача уже так или иначе в сильной мере формируется JavaScript-ом"
незнаю что это значит, но видимо относится  к делу

Добавлено через 2 минуты
Цитата(SelenIT @  4.3.2011,  13:17 Найти цитируемый пост)
Возможно, покажусь старомодным, но по-моему всё же разумнее генерить такое меню серверным скриптом или инклюдом.

если можно подробнее, учитывая первую строку темы smile
--------------------
Стоишь на берегу И чувствуешь соленый запах ветра, Что веет с моря,И знаешь что свободен ты, и жизнь лишь началась....И губы жжет.. подруги поцелуй, Пропитанный слезой!
PM MAIL ICQ   Вверх
SelenIT
Дата 4.3.2011, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 97
Всего: 401



Я имел в виду, что если делать меню жестко зависимым от включенного JS, то наберется немало пользователей, которые его просто не увидят (напр. те, кто по умолчанию отключают скрипты на незнакомых сайтах "ради безопасности"). С поисковиками тоже вопрос сложный. Да, гиганты вроде Гугла и Яндекса поневоле научились читать то, что генерируется яваскриптом, но не факт, что они будут хорошо индексировать ссылки оттуда и рассматривать их как значимые. А куча поисковиков регионального значения может и этого не уметь...

Поэтому я предлагаю глянуть в сторону хотя бы SSI. А лучше полноценного серверного языка (хотя бы самого элементарного — PHP).


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Cobalt
Дата 4.3.2011, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 31.8.2006

Репутация: нет
Всего: 1



Цитата(SelenIT @  4.3.2011,  15:12 Найти цитируемый пост)
Поэтому я предлагаю глянуть в сторону хотя бы SSI. А лучше полноценного серверного языка (хотя бы самого элементарного — PHP). 

ну хотелось бы обойтись малой кровью

кстати меню все равно скорей всего будет с использованием скрипта для его выката) еще думаю

Цитата(SelenIT @  4.3.2011,  15:12 Найти цитируемый пост)
Я имел в виду, что если делать меню жестко зависимым от включенного JS, то наберется немало пользователей, которые его просто не увидят (напр. те, кто по умолчанию отключают скрипты на незнакомых сайтах "ради безопасности").

я на одном сайте поставил яндекс.метрику, сайт не сильно посещаемый, но все же! в метрике есть прикольные возможности, и моно узнать сколько пользователей использует яву, так вот, оказалось что яваскрипт включен у 98% посетителей
--------------------
Стоишь на берегу И чувствуешь соленый запах ветра, Что веет с моря,И знаешь что свободен ты, и жизнь лишь началась....И губы жжет.. подруги поцелуй, Пропитанный слезой!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема »


 




[ Время генерации скрипта: 0.1075 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.