Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.06.2014, 14:30
Новичок на форуме
Отправить личное сообщение для Webdev Посмотреть профиль Найти все сообщения от Webdev
 
Регистрация: 02.06.2014
Сообщений: 3

Выделение активной вкладки меню CSS
Есть горизонтальное меню сss.

<nav>
<ul id="main-nav">
<li><a class="red" href="#navTab1">1</a></li>
<li><a class="green" href="#navTab2">2</a></li>
<li><a class="blue" href="#navTab3">3</a></li>
<li><a class="yellow" href="#navTab4">4</a></li>
<li><a class="maroon" href="#navTab5">5</a></li>
</ul>
</nav>

Необходимо чтобы при клике на вкладку она получала класс red, а та, у которой был класс red раньше, получала цвет вкладки, по которой кликнули.

т.е. кликаем на 3 - 3 вкладка становится red, 1 вкладка становится blue

Последний раз редактировалось Webdev, 02.06.2014 в 15:55.
Ответить с цитированием
  #2 (permalink)  
Старый 02.06.2014, 15:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Webdev,

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
   .red {
     background: red;
   }
   .green {
     background: green;
   }
   .blue {
     background: blue;
   }
   .yellow {
     background: yellow;
   }
   .maroon {
     background: maroon;
   }
   a{
     width: 50px;
     display: inline-block;
   }

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
  	$(function ()
  	  {
  	    var cls = 'red', indx = 0, $a = $('.main-nav a');
  	    $a.click(function ()
  	      {
  	        var temp = this.className;
  	        $a.eq(indx)[0].className = temp;
  	        this.className = 'red';
  	        cls = temp;
  	        indx = $a.index(this)
  	      }
  	    )
  	  }
  	)
  </script>
</head>

<body>
<nav>
 <ul class="main-nav">
 <li><a class="red" href="#navTab1">1</a></li>
 <li><a class="green" href="#navTab2">2</a></li>
 <li><a class="blue" href="#navTab3">3</a></li>
 <li><a class="yellow" href="#navTab4">4</a></li>
 <li><a class="maroon" href="#navTab5">5</a></li>
 </ul>
 </nav>
</body>

</html>
Ответить с цитированием
  #3 (permalink)  
Старый 02.06.2014, 15:38
Новичок на форуме
Отправить личное сообщение для Webdev Посмотреть профиль Найти все сообщения от Webdev
 
Регистрация: 02.06.2014
Сообщений: 3

Спасибо, а как это будет выглядеть на чистом javascript? я только начал учиться и еще не знаю jquery

Последний раз редактировалось Webdev, 02.06.2014 в 15:57.
Ответить с цитированием
  #4 (permalink)  
Старый 02.06.2014, 16:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Webdev,

http://learn.javascript.ru/
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
   .red {
     background: red;
   }
   .green {
     background: green;
   }
   .blue {
     background: blue;
   }
   .yellow {
     background: yellow;
   }
   .maroon {
     background: maroon;
   }
   a{
     width: 50px;
     display: inline-block;
   }

  </style>
  <script>
  	window.onload = function ()
  	{
  	  var cls = 'red', obj = document.querySelector('.red'), main = document.querySelector('.main-nav');
  	  main.onclick = function (event)
  	  {
  	    var el = event && event.target || window.event.srcElement;
  	    if ("A" == el.tagName) {
  	      var temp = el.className;
  	      obj.className = temp;
  	      el.className = 'red';
  	      cls = temp;
  	      obj = el;
  	    }
  	  }
  	}
  </script>
</head>

<body>
<nav>
 <ul class="main-nav">
 <li><a class="red" href="#navTab1">1</a></li>
 <li><a class="green" href="#navTab2">2</a></li>
 <li><a class="blue" href="#navTab3">3</a></li>
 <li><a class="yellow" href="#navTab4">4</a></li>
 <li><a class="maroon" href="#navTab5">5</a></li>
 </ul>
 </nav>
</body>

</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение активных пунктов многоуровневого меню на jQuery Letto Элементы интерфейса 2 04.12.2013 15:30
CSS меню => скрыть при нажатии Shasoft Элементы интерфейса 1 15.05.2012 20:01
CSS Меню и JavaScript Babyaka Элементы интерфейса 0 29.03.2012 04:17
стили Css в зависимости от высоты активной области браузера Vladimir_Kl Javascript под браузер 3 23.03.2011 16:04
Подскажите по CSS меню Александр_1988 Элементы интерфейса 1 17.05.2010 11:58