18.10.2008, 00:16
|
Новичок на форуме
|
|
Регистрация: 17.10.2008
Сообщений: 6
|
|
Помогите пожалуйста исправить меню
Здравствуйте. извините уж, но в javascript я ноль. не ругайте, если я тут не к месту на форуме, вопросы элементарные задаю.. Есть желание восполнить пробел, чувствую, что у технологии широкие горизонты..
Собственно вопрос: что дописать в menu.js чтобы он четко работал, т.е. чтобы не разворачивалось больше одной ссылки, и ссылка закрывалась обратно. собственно меню находится в диве menu на странице prazdniksaratov.ru
Код:
|
var prevBlock = null;
$(window).load(function() {
$("#menu a").each(function() {
var slidedBlock = $(this).next("div");
$(this).click(function() {
if (null !== prevBlock && prevBlock !== slidedBlock)
{
$(prevBlock).slideToggle("slow");
}
$(slidedBlock).slideToggle("slow");
prevBlock = slidedBlock;
return false;
});
});
}); |
сам скрипт - menu.js, и там что-то через "jquery-1.2.5.min.js" загружается, который вроде бы делает смену фоток. ей богу, я понятия не имею как они взаимодействуют.. и кстати можно уменьшить jquery-1.2.5.min.js? потому что есть еще jcycle.js, который судя по всему и вертит фотки.
Последний раз редактировалось Виталий С, 18.10.2008 в 00:25.
Причина: код
|
|
18.10.2008, 01:33
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Ох как только над jQuery не извращаются :-)
menu.js
$(function() {
var conteiners = $('#menu li > div').hide();
$('a.js').click(function() {
conteiners.filter(':visible').slideUp();
$(this).next().slideDown();
return false;
});
});
Пробовал на jQuery 1.2.6, так что если не будет работать, обновитесь до версии 1.2.6
------------------------------
Добавлено
Не внимательно прочитал, Вы же хотели, чтобы можно было обратно закрыть текущую ссылку, тогда так:
$(function() {
var conteiners = $('#menu li > div').hide();
$('a.js').click(function() {
var conteiner = $(this).next();
if(conteiner.is(':hidden')) {
conteiners.filter(':visible').slideUp();
conteiner.slideDown();
}
else conteiner.slideUp();
return false;
});
});
Последний раз редактировалось Octane, 18.10.2008 в 01:49.
|
|
18.10.2008, 02:05
|
Новичок на форуме
|
|
Регистрация: 17.10.2008
Сообщений: 6
|
|
!
спасибо ! снимаю шляпу.. работает !
Сообщение от Octane
|
Ох как только над jQuery не извращаются :-)
|
это хорошо или плохо?) почему он такой боьшой? могу я заменить его на jquery-1.2.6.pack.js? все-таки разница в 20 кб.. это ж вроде бы стандартная "библиотека", так ее называют?
посоветуйте, может там еще что-то обрезать можно, удалить.. все-таки 3 js файла общей массой 84 кб, а все для чего они нужны - сменяющиеся фото (они одновременно ссылки) и меню.
если вас не затруднит, не могли бы вы вкратце черкануть мне бездарному пару строк в ответ, чтоб я понял что происходит у меня на сайте, который я сам делаю.)
|
|
18.10.2008, 02:24
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Сообщение от Виталий С
|
это хорошо или плохо?)
|
Все извращения возникают только потому, что люди начинают изучать не сам JavaScript а сразу jQuery :-)
Сообщение от Виталий С
|
почему он такой боьшой? могу я заменить его на jquery-1.2.6.pack.js?
|
Да, можете заменить jquery-1.2.5-min.js на jquery-1.2.6.pack.js. Версия min просто очищена от комментариев и лишних пробельных символов, а версия pack еще и сжата, отсюда и разница в размере.
Сообщение от Виталий С
|
это ж вроде бы стандартная "библиотека", так ее называют?
|
jQuery — это JavaScript framework или другими словами библиотека, которая содержит в себе набор функций для ускорения и упрощения написания кода на JavaScript. И никакая она не стандартная
Сообщение от Виталий С
|
посоветуйте, может там еще что-то обрезать можно, удалить..
|
Врятле, если только все на чистом JavaScript написать, без использования jQuery и плагинов к нему
|
|
18.10.2008, 02:40
|
Новичок на форуме
|
|
Регистрация: 17.10.2008
Сообщений: 6
|
|
-
спасибо! хорошо тут у вас, затусуюсь здесь. буду продолжать надоедать вопросами. постараюсь конечно подкреплять их кодом.
|
|
18.10.2008, 03:08
|
Новичок на форуме
|
|
Регистрация: 17.10.2008
Сообщений: 6
|
|
! пардон, не все хорошо. всплыла проблемка. на той же странице внизу в диве news тоже меню, на common.js. оно стало глючить.
что делать? может можно это меню засадить на новый скрипт на основе menu.js? только с той разницей, что блоки должны открываться, не закрываясь один перед другим, т.е. оставаться открытыми в то время как другие тоже можно открывать.
|
|
18.10.2008, 13:37
|
Новичок на форуме
|
|
Регистрация: 17.10.2008
Сообщений: 6
|
|
Цитата:
|
на той же странице внизу в диве news тоже меню, на common.js. оно стало глючить.
|
после некоторых размышлений понял, что глючит там не из-за нового скрипта, т.е. косвенно из-за него, но дело не в нем. после замены <br> на <p> все стало ok. я потом конечно в css пропишу ссылкам clear, и <p> уберу. пока все ok.
|
|
|
|