Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2011, 10:11   #1
Иванна
Пользователь
 
Регистрация: 03.02.2011
Сообщений: 38
По умолчанию Цвет активной ссылки

Здравствуйте! У меня есть меню, которое не "держит" цвет, во время того, как в этом пункте находятся. То есть я, например, захожу в какой-либо пункт каталога и цвет ссылки, по которой я зашла, в это время должен меняться от того цвета, который стоит по умолчанию. Чтобы клиент знал где он находится. Я слышала что это можно сделать с помощью js. Поможете?
Иванна вне форума Ответить с цитированием
Старый 18.02.2011, 11:18   #2
KREGI
Форумчанин
 
Аватар для KREGI
 
Регистрация: 29.11.2008
Сообщений: 333
По умолчанию

я так полагаю нужно подсветить активный пункт меню, в котором сейчас находимся?
или подсветить при наведении?
в первом случае я делаю с помощью php, во втором с помощью css
Если помог - Весы слева
KREGI вне форума Ответить с цитированием
Старый 18.02.2011, 11:31   #3
Иванна
Пользователь
 
Регистрация: 03.02.2011
Сообщений: 38
По умолчанию

Первый случай нужен. Для второго есть hover
Иванна вне форума Ответить с цитированием
Старый 18.02.2011, 11:37   #4
KREGI
Форумчанин
 
Аватар для KREGI
 
Регистрация: 29.11.2008
Сообщений: 333
По умолчанию

не проверял, пишу на коленке как говорится:
допустим меню следующего вида:
Код:
<div class="menu">
<ul>
<li><a href="">Страница 1</a></li>
<li><a href="">Страница 2</a></li>
<li><a href="">Страница 3</a></li>
</ul>
</div>
тогда Js
Код:
$('div.menu li').each(function () {if (this.getElementsByTagName("a")[0].href == location.href) this.className = "current";});
после отработки js будет вот так примерно:
Код:
<li class="current"><a href="">Страница 1</a></li>
Если помог - Весы слева
KREGI вне форума Ответить с цитированием
Старый 18.02.2011, 13:34   #5
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

Цитата:
не проверял, пишу на коленке как говорится
Да, так можно сделать, но Вы забыли предупредить человека, что это с использованием jQuery.
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Старый 18.02.2011, 13:48   #6
Иванна
Пользователь
 
Регистрация: 03.02.2011
Сообщений: 38
По умолчанию

Спасибо вам большое! Правда, я тоже забыла предупредить что я делаю сайт на CMS Joomla!. Поэтому даже представления не имею как и куда это вставить Это ссылки в меню, меню выводится модулем. В модуле шаблон есть, вот туда это и надо вставить. Может есть вариант на php?
Иванна вне форума Ответить с цитированием
Старый 18.02.2011, 20:13   #7
KREGI
Форумчанин
 
Аватар для KREGI
 
Регистрация: 29.11.2008
Сообщений: 333
По умолчанию

Wicort, ага, забыл указать)
Иванна смысл почти тот же, определяете где сейчас находитесь ($_SERVER['PHP_SELF'] используете), и меняете значение у класса например того же тега li, а в css надо прописать все возможные варианты.
примерно так:
Код:
<?php
//выбранный пункт меню
switch ($_SERVER['PHP_SELF']):
  case '/index.php'  		: $set = 'current-general';       break;
  case '/company.php'   	: $set = 'current-company';  	  break;
  case '/catalog.php'  : $set = 'current-catalog';  	  break;
  case '/client.php'   	    : $set = 'current-clients';  	  break;
  case '/certificates.php'  : $set = 'current-certificates';  break;
  case '/contacts.php'      : $set = 'current-contacts';      break;
  default 		            : $set = '';	                  break;
endswitch;
?>
Код:
<ul class="nav">
			<li class="general  <?php echo $set ?>"><a href="/">ГЛАВНАЯ</a></li>
			<li class="company  <?php echo $set ?>"><a href="/company.htm">О КОМПАНИИ</a></li>
			<li class="catalog  <?php echo $set ?>"><a href="/catalog.htm">КАТАЛОГ</a></li>
			<li class="clients  <?php echo $set ?>"><a href="/clients.htm">КЛИЕНТЫ</a></li>
			<li class="certificates"><a href="/certificates.htm">СЕРТИФИКАТЫ</a></li>
			<li class="contacts  <?php echo $set ?>"><a href="/contacts.htm">КОНТАКТНАЯ ИНФОРМАЦИЯ</a></li>
		</ul>
css
Код:
.current-general{
color: red;
}
и так далее для каждого пункта меню расписывать стиль
как то так
Если помог - Весы слева

Последний раз редактировалось KREGI; 18.02.2011 в 20:17.
KREGI вне форума Ответить с цитированием
Старый 22.11.2012, 17:47   #8
vip otkritki
Пользователь
 
Регистрация: 22.11.2012
Сообщений: 23
По умолчанию

Здравствуйте. очень прошу помочь.Проблема в выделении активной ссылки другим цветом. Делаю сайт под заказ цвет в цвет, картинка в картинку. Ненашел подходящего, готового шаблона.Сделал шабдон в артистере.Все общем хорошо.Только вот сайт поделен на несколько меню.Так верхнее меню работает, активная ссылка светится.А вот боковые меню и ссылки в материалах, никак не могу сделать CSS.Кому не трудно прописать код?Вот index шаблона и CSS.
vip otkritki вне форума Ответить с цитированием
Старый 22.11.2012, 17:48   #9
vip otkritki
Пользователь
 
Регистрация: 22.11.2012
Сообщений: 23
По умолчанию

INDEX


<?php
defined('_JEXEC') or die;

$version = new JVersion();
if ('1.5' != $version->RELEASE)
exit('This template is not compatible with Joomla ' . $version->RELEASE . ' and should be replaced.');


require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'functions.php';

// Create alias for $this object reference:
$document = & $this;

// Shortcut for template base url:
$templateUrl = $document->baseurl . '/templates/' . $document->template;

// Initialize $view:
$view = $this->artx = new ArtxPage($this);

// Decorate component with Artisteer style:
$view->componentWrapper();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $document->language; ?>" lang="<?php echo $document->language; ?>" dir="ltr">
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="<?php echo $document->baseurl; ?>/templates/system/css/system.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $document->baseurl; ?>/templates/system/css/general.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="<?php echo $templateUrl; ?>/css/template.css" media="screen" />
<!--[if IE 6]><link rel="stylesheet" href="<?php echo $templateUrl; ?>/css/template.ie6.css" type="text/css" media="screen" /><![endif]-->
<!--[if IE 7]><link rel="stylesheet" href="<?php echo $templateUrl; ?>/css/template.ie7.css" type="text/css" media="screen" /><![endif]-->
<script type="text/javascript">if ('undefined' != typeof jQuery) document._artxJQueryBackup = jQuery;</script>
<script type="text/javascript" src="<?php echo $templateUrl; ?>/jquery.js"></script>
<script type="text/javascript">jQuery.noConflict();</script>
<script type="text/javascript" src="<?php echo $templateUrl; ?>/script.js"></script>
<script type="text/javascript">if (document._artxJQueryBackup) jQuery = document._artxJQueryBackup;</script>
</head>
<body>
<div id="art-main">
<div class="cleared reset-box"></div>
<div class="art-box art-sheet">
<div class="art-box-body art-sheet-body">
<?php if ($view->containsModules('topleft')) : ?>
<div class="topleft"><?php echo $view->position('topleft'); ?></div>
<?php endif; ?>
<?php if ($view->containsModules('topright')) : ?>
<div class="topright"><?php echo $view->position('topright'); ?></div>
<?php endif; ?>
<?php if ($view->containsModules('logo')) : ?>
<div class="logo"><?php echo $view->position('logo'); ?></div>
<?php endif; ?>
<?php if ($view->containsModules('topbanner')) : ?>
<div class="topbanner"><?php echo $view->position('topbanner'); ?></div>
<?php endif; ?>
<?php if ($view->containsModules('user3', 'extra1', 'extra2')) : ?>
<div class="art-bar art-nav">
<div class="art-nav-outer">
<?php if ($view->containsModules('extra1')) : ?>
<div class="art-hmenu-extra1"><?php echo $view->position('extra1'); ?></div>
<?php endif; ?>
<?php if ($view->containsModules('extra2')) : ?>
<div class="art-hmenu-extra2"><?php echo $view->position('extra2'); ?></div>
<?php endif; ?>
<div class="art-nav-center">
<?php echo $view->position('user3'); ?>
</div>
</div>
</div>
<div class="cleared reset-box"></div>
<?php endif; ?>
<?php echo $view->position('banner1', 'art-nostyle'); ?>
<?php echo $view->positions(array('top1' => 33, 'top2' => 33, 'top3' => 34), 'art-block'); ?>
<div class="art-layout-wrapper">
<div class="art-content-layout">
<div class="art-content-layout-row">
<?php if ($view->containsModules('left')) : ?>
<div class="art-layout-cell art-sidebar1">
<?php echo $view->position('left', 'art-block'); ?>

<div class="cleared"></div>
</div>
<?php endif; ?>
<div class="art-layout-cell art-content">
vip otkritki вне форума Ответить с цитированием
Старый 22.11.2012, 17:49   #10
vip otkritki
Пользователь
 
Регистрация: 22.11.2012
Сообщений: 23
По умолчанию

<?php
echo $view->position('banner2', 'art-nostyle');
if ($view->containsModules('breadcrumb'))
echo artxPost($view->position('breadcrumb'));
echo $view->positions(array('user1' => 50, 'user2' => 50), 'art-article');
echo $view->position('banner3', 'art-nostyle');
if ($view->hasMessages())
echo artxPost('<jdoc:include type="message" />');
echo '<jdoc:include type="component" />';
echo $view->position('banner4', 'art-nostyle');
echo $view->positions(array('user4' => 50, 'user5' => 50), 'art-article');
echo $view->position('banner5', 'art-nostyle');
?>

<div class="cleared"></div>
</div>

</div>
</div>
</div>
<div class="cleared"></div>


<?php echo $view->positions(array('bottom1' => 33, 'bottom2' => 33, 'bottom3' => 34), 'art-block'); ?>
<?php echo $view->position('banner6', 'art-nostyle'); ?>
<div class="art-footer">
<div class="art-footer-body">
<div class="art-footer-text">
<?php if ($view->containsModules('copyright')): ?>
<?php echo $view->position('copyright', 'art-nostyle'); ?>
<?php else: ?>
<?php ob_start(); ?>
<p>&nbsp;Copyright © 2012. Colorovo.Com&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp; &nbsp;<a href="http://kolorovo">На головну</a> | <a href="http://kolorovo/typografiya.html">Типографія</a> | <a href="http://kolorovo/suvenirka.html">Сувенірка</a> | <a href="http://kolorovo/prydbaty.html">Придбати</a> | <a href="http://kolorovo/nashe-vse.html">Наше все</a> | <a href="#">Контакти</a><a href="#top" on click="scrollTo(0,0); return false;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <img src="../../images/uptop.jpg" width="12" height="12" align="absmiddle" />Уверх</p>
<p>&nbsp;</p>
<div class="cleared"></div>
<p class="art-page-footer"></p>

<?php echo str_replace('%YEAR%', date('Y'), ob_get_clean()); ?>
<?php endif; ?>
</div>
<div class="cleared"></div>
</div>
</div>

<div class="cleared"></div>
</div>
</div>

<div class="cleared"></div>
</div>

<?php echo $view->position('debug'); ?>
</body>
</html>
vip otkritki вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение активной ссылки меню Mailady HTML и CSS 0 22.10.2010 15:41
Выделенный пункт активной ссылки меню Next HTML и CSS 3 09.08.2010 19:12
Поставить стрелочку у активной ссылки Manonia HTML и CSS 2 06.04.2010 06:30
RichEdit (цвет и ссылки) Ital1cs Помощь студентам 0 05.04.2010 14:36
Задать разный цвет для непосещенной, посещенной и активной гиперссылок ai\ekcah^p HTML и CSS 1 29.01.2010 20:49