Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Основное меню в картинке <img>

00 голосов
6
Привет всем, у меня вопрос следующего вида, может кто сталкивался, помогите плиз.
Итак, суть проблемы:

подключаю левую навигацию:
<?echo $APPLICATION->GetMenuHtml("left4");?>

Все отлчино, все работает, но потом заказчик передумывает и просит сделать меню не текстовое, а картинками, ладно делаю, вместо текста в поле меню вставляю Рисунок, все опять отлично, потом он говорит что не плохо было бы сделать "активные и пассивные кнопочки, и чтобы при наведлении картинка менялась" (дословно).

Так вот как это сделать? Пока не могу понять.
ну допустим в left4.menu_template.php я поменяю условие что если все ок - тогда Рисунок, если мышку навели- тода Рисунок, но, а дальше? там 15 разделов, как для каждого определить что неактивное это about, home,mail,form, а активное это тоже самый только в конце 1. Как это сделать?
И кроме того если открыта страница к примеру about, то чтобы в шаблоне было about а не about1.

Спасибо.
спросил 28 Сен, 13 от Kania (5,180 баллов)

6 Ответы

00 голосов
Ну подскажите, ну
ответил 09 Окт, 13 от Kania (5,180 баллов)
00 голосов
ONMOUSEOVER="this.className = 'k';"
ONMOUSEOUT="this.className = 'kd';"


ONMOUSEOVER="this.src = '11.gif';"
ONMOUSEOUT="this.src = '22.gif';"
В данном случае мы меняем один рисунок на другой при наведении мышки. Только предварительно картинки подгрузить рекомендуется.

Это при наведении.
Как понимаю, далее лезем и создаем
Код
function "а-ля" generate_navlinks()
{ global $1перем, $язык_ссылок, $прочее;}

и т.п.

или побольше про функцию написать?
ответил 09 Янв, 14 от Romkka (580 баллов)
00 голосов
ну да, и желательно как будет определяться является ли ссылка нажатой или нет
ответил 26 Апр, 14 от Kania (5,180 баллов)
00 голосов
Читайте документацию.

if ( $SELECTED )
пункт активен
else
пункт неактивен
ответил 21 Авг, 14 от salo (840 баллов)
00 голосов
не получается.
вверху страницы стоит ява:

function SelButton()
{
var a = event.srcElement;
if(a.tagName == "IMG" && a.src.substring(a.src.length-9, a.src.length-4) == "_menu")
a.src = a.src.substring(0, a.src.length-4) + "_sel"+ a.src.substring(a.src.length-4, a.src.length);
}


function UnSelButton()
{
var a = event.srcElement;
if(a.tagName == "IMG" && a.src.substring(a.src.length-13, a.src.length-smile8) == "_menu")
a.src = a.src.substring(0, a.src.length-smile8) + a.src.substring(a.src.length-4, a.src.length);
}

document.onmouseover = SelButton;
document.onmouseout = UnSelButton;

Работает. Все мигает, меняется.
захожу в меню, добавляю картинку к примеру <img border=0 src=news_menu>, он подгружает <img border=0 src=news_menu_sel> и она становится активной в зависимости от наведения мышки.
НО как передать что, например, если выбран раздел новости, то чтобы картинка на нем не менялась, а была нажатой?

ну и объяснил...
ответил 26 Дек, 14 от Kania (5,180 баллов)
00 голосов
в меню в заголовке пунков пишите текстовое название.
в рассширеном режиме редактирования меню можно задать доп. параметры (для вас например img1, img2, img3 c путями к картинкам)
в файле формирования меню примерно так:
<?
if ($SELECTED)
{
$sMenuBody='<img src="'.$PARAM["img3"].'" alt="'.$TEXT.'">';
}
else
{
$sMenuBody='<img onMouseOver="this.src='.$PARAM["img2"].'" onMouseOver="this.src='.$PARAM["img1"].'" src="'.$PARAM["img1"].'" alt="'.$TEXT.'">';
}
?>
ну, это в кратце без подробностей
ответил 15 Апр, 15 от NitroGeN (2,840 баллов)

Похожие вопросы

0 голосов
4 ответов
спросил 18 Ноя, 13 от BAPKAH (100 баллов)
0 голосов
4 ответов
спросил 24 Янв, 14 от Rogarond (820 баллов)
0 голосов
1 ответ
0 голосов
0 ответов
спросил 19 Фев, 14 от preo (120 баллов)
0 голосов
1 ответ
спросил 24 Апр, 14 от Dominik (100 баллов)