Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.09.2012, 17:41
Интересующийся
Отправить личное сообщение для x-miller-x Посмотреть профиль Найти все сообщения от x-miller-x
 
Регистрация: 22.07.2012
Сообщений: 18

Изменение стилей по клику
Есть список у меня по клику стиль меняется, но я хочу при этом удалить класс у предыдущего элемента. Как реализовать?
function kodimg(id)
{
document.getElementById(id).className = 'act';
}

вот html

<ul>
<li id="1" class="act" onclick="kodimg(id)"><a href="#">объявления</a></li>
<li id="2" onclick="kodimg(id)"><a href="#">товары</a></li>
<li id="3" onclick="kodimg(id)"><a href="#">все</a></li>
</ul>
Ответить с цитированием
  #2 (permalink)  
Старый 13.09.2012, 18:35
Интересующийся
Отправить личное сообщение для -majestic- Посмотреть профиль Найти все сообщения от -majestic-
 
Регистрация: 12.11.2011
Сообщений: 23

Можно так, например:
function kodimg(){
	$('li').click(function () {
		$('li').removeClass('act');
		$(this).addClass('act');
	});
}
Ответить с цитированием
  #3 (permalink)  
Старый 13.09.2012, 18:55
Интересующийся
Отправить личное сообщение для x-miller-x Посмотреть профиль Найти все сообщения от x-miller-x
 
Регистрация: 22.07.2012
Сообщений: 18

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

Последний раз редактировалось x-miller-x, 13.09.2012 в 19:03.
Ответить с цитированием
  #4 (permalink)  
Старый 13.09.2012, 19:07
Интересующийся
Отправить личное сообщение для x-miller-x Посмотреть профиль Найти все сообщения от x-miller-x
 
Регистрация: 22.07.2012
Сообщений: 18

да и еще можно как нибудь для конкретного списка так сделать? а то щас получается, что ко всем спискам добавляет атрибут - class
Ответить с цитированием
  #5 (permalink)  
Старый 13.09.2012, 19:15
Интересующийся
Отправить личное сообщение для -majestic- Посмотреть профиль Найти все сообщения от -majestic-
 
Регистрация: 12.11.2011
Сообщений: 23

Попробуй так:
onclick="kodimg(); return false;"

А по поводу списка, присвой ему класс и напиши так:
$('ul.yourClass li').click(function () {
        $('ul.yourClass li').removeClass('act');
        $(this).addClass('act');
    });

А вообще почитай про селекторы jQuery, там много полезных штук найдёшь.
Ответить с цитированием
  #6 (permalink)  
Старый 13.09.2012, 19:22
Интересующийся
Отправить личное сообщение для -majestic- Посмотреть профиль Найти все сообщения от -majestic-
 
Регистрация: 12.11.2011
Сообщений: 23

А вообще зачем тебе onclick?

Убираешь у элементов списка onclick и просто задаёшь класс списку и пишешь так:
$(document).ready(function(){
	$('ul.yourClass li').click(function () {
		$('ul.yourClass li').removeClass('act');
		$(this).addClass('act');
	});
});
Ответить с цитированием
  #7 (permalink)  
Старый 13.09.2012, 19:28
Интересующийся
Отправить личное сообщение для x-miller-x Посмотреть профиль Найти все сообщения от x-miller-x
 
Регистрация: 22.07.2012
Сообщений: 18

блин, все равно по второму клику в начале надо
Ответить с цитированием
  #8 (permalink)  
Старый 13.09.2012, 20:00
Интересующийся
Отправить личное сообщение для -majestic- Посмотреть профиль Найти все сообщения от -majestic-
 
Регистрация: 12.11.2011
Сообщений: 23

У меня всё работает. Покажи код html + js.
Ответить с цитированием
  #9 (permalink)  
Старый 13.09.2012, 20:13
Интересующийся
Отправить личное сообщение для x-miller-x Посмотреть профиль Найти все сообщения от x-miller-x
 
Регистрация: 22.07.2012
Сообщений: 18

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="js/jquery.min.js" type="text/javascript"></script>
<script>
function kodimg(){
$('ul.lol li').click(function () {
$('ul.lol li').removeClass('act');
$(this).addClass('act');
});
}
</script>
</head>
<body>
<ul class="lol">
<li id="1" class="act" onclick="kodimg(); return false;"><a href="#">объявления</a></li>
<li id="2" onclick="kodimg(); return false;"><a href="#">товары</a></li>
<li id="3" onclick="kodimg(); return false;"><a href="#">все</a></li>
</ul>
</body>
</html>
Ответить с цитированием
  #10 (permalink)  
Старый 13.09.2012, 21:17
Интересующийся
Отправить личное сообщение для -majestic- Посмотреть профиль Найти все сообщения от -majestic-
 
Регистрация: 12.11.2011
Сообщений: 23

Ну я же выше написал, что нужно убрать онклик, а скрипт такой:
$(document).ready(function(){
    $('ul.yourClass li').click(function () {
        $('ul.yourClass li').removeClass('act');
        $(this).addClass('act');
    });
});

П.С.: А ещё код тут можно подсвечивать специальными тэгами.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение input.value по клику farik Events/DOM/Window 3 13.07.2014 12:15
Изменение стилей radio при активации checkbox brigz Events/DOM/Window 8 04.02.2012 19:47
Изменение стилей при клике на ссылку Avro Элементы интерфейса 2 11.04.2011 19:19
Изменение и отображение значения переменной по клику Allan Stark Общие вопросы Javascript 1 25.04.2010 15:50
Изменение путей к таблицам стилей и скриптам в скрипете галереи lightbox 2.04 Flashton Элементы интерфейса 1 01.02.2010 10:10