Javascript.RU

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

Только один из трех элементов может быть активен
добрый день!
Ситуация следующая: есть три элемента "Text" и три картинки. Картинки все распологаются в одном месте. При клике на Text1 отображается картинка 1, при клике на Text2 - картинка 2 и на Text3 - картинка три соответственно. При клике на Text - текст меняет цвет с черного на красный.

Задача: Только один текст и соответствующая ему картинка могут быть активны, Т.е. сначала нажали на текст1 - тест изменил цвет на красный, появилась картинка 1. Нажимаем на текст2 - он подсвечивается красным и появляется картинка 2, при этом картинка 1 пропадает и текст1 становится черным ("не активный"). С трейтим текстом и картинкой такая же история. Т.е. только один текст из трех может быть активен и при этом отображается картинка, которая соответствует тексту.
В аттаче - пример, подскажите, что нужно добавить, что бы текст и картинка были активны только те, которые выбраны, а остальные были неактивны (значения обнулялись).
Спасибо большое за помощь!

Последний раз редактировалось Volchen0ck, 03.04.2014 в 18:04.
Ответить с цитированием
  #2 (permalink)  
Старый 27.01.2013, 14:51
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Запостите код здесь, обрамив в [НTML] .. [/html] тег. Или в песочнице http://learn.javascript.ru/play или на jsfiddle.net .
Ответить с цитированием
  #3 (permalink)  
Старый 27.01.2013, 15:05
Интересующийся
Отправить личное сообщение для Volchen0ck Посмотреть профиль Найти все сообщения от Volchen0ck
 
Регистрация: 27.01.2013
Сообщений: 24

http://learn.javascript.ru/play/MpAfSb
Ответить с цитированием
  #4 (permalink)  
Старый 27.01.2013, 16:10
Интересующийся
Отправить личное сообщение для Volchen0ck Посмотреть профиль Найти все сообщения от Volchen0ck
 
Регистрация: 27.01.2013
Сообщений: 24

Для каждого Text следующая ф-ция:
(function(symbolName){Symbol.bindElementAction(com pId,symbolName,"${_Text1}","click",function(sym,e) {sym.$("Text1").css('color','#ff0000');sym.$("Koal a").css('opacity',1);});

т.е. при клике на текст элемент меняет цвет и опасити для картинки менятся с 0 на 1.

Для того, чтобы только один был элемент активный - для каждого текст я могу прописать дополнительно:
(function(symbolName){Symbol.bindElementAction(com pId,symbolName,"${_Text1}","click",function(sym,e) {sym.$("Text3").css('color','#000000');sym.$("Img3 ").css('opacity',0);});

но минус в том, что если на странице много элементов, например, 10 - то код становитс грамоздким. Можно ли написать JS чтобы он автоматически обнулял значения для остальных элементов?
Ответить с цитированием
  #5 (permalink)  
Старый 27.01.2013, 16:38
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Volchen0ck,
По клику к текущему элементу добавляете класс "active"
Клик функция такого вида
$("elem:not(.active)").on('click',function() {
  $("elem").removeClass('active')....  //тут убираем свойства активности у Всех;
  $(this).addClass('active').... .//тут добавляем свойство активности у текущего
  // Тут Доп. функции, если есть
});

Пример
$("elem:not(.active)").on('click',function() {
  $("elem").removeClass('active').hide();
  $(this).addClass('active').show(1000)
});

Последний раз редактировалось Deff, 13.02.2013 в 05:30.
Ответить с цитированием
  #6 (permalink)  
Старый 27.01.2013, 17:05
Интересующийся
Отправить личное сообщение для Volchen0ck Посмотреть профиль Найти все сообщения от Volchen0ck
 
Регистрация: 27.01.2013
Сообщений: 24

Спасибо большое за помощь!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнить только один раз событие onClick. exBill Events/DOM/Window 3 04.10.2010 23:04
Сколько максимум символов может быть в 1 Cookie? FirstFrost Общие вопросы Javascript 8 18.07.2010 01:26
Окно открывается только один раз altermann ExtJS 8 22.04.2010 11:55
Выделить группу чекбоксов. В группе может быть только один чекбокс. JooZ Элементы интерфейса 2 23.12.2009 19:28
Dojo может подгружать информацию из пунктов меню только при клике на выбранный пункт? vlad275 Dojo toolkit 0 30.10.2008 15:56