Javascript.RU

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

Выбрать все элементы кроме $(this)
Ситуация вкратце: есть несколько изображений в качестве ссылок меню, которые при загрузки становятся чб. Для них определены события js: onmouseout и onmouseover, которые переводят из чб в нормальное и обратно.

js:
function desaturate(img) {
                var img2 = Pixastic.process(img, "desaturate");
                img2.onmouseover = function() {
                        Pixastic.revert(this);
                }

        }
        window.onload = function (){
            var img = document.getElementsByTagName('.MyClass img');
            for ( i in img ){
                desaturate(img[i]);
            }
        }


Задача: нужно выделить одну активную ссылку (страница не перезагружается), т.е. сделать картинку цветную, а все остальные опять чб. Создал событие по клику, попытался манипулировать атрибутами <img>, получается только выделить, а вот перевести ее обратно при клике на другую картинку — нет. Пробовал реализовать это через jQuery так:

$(".MyClass a img").click(function () {
$(".MyClass a img").attr({onmouseout: "desaturate(this);"});
$(this).removeattr("onmouseout");	   
});


Добавляем событие onmouseout для всех картинок (переводит в чб по событию).
Удаляем событие onmouseout для текущей картинки (не переводит в чб)

Вообще, очень интересно, возможна ли такое обращение к элементам и в такой последовательности? Возможно ли каким-либо способом выделить все элементы, кроме кликнутого и присвоить им что угодно (стиль и т.д.)?
Ответить с цитированием
  #2 (permalink)  
Старый 13.03.2010, 09:07
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Если нужные элементы имеют одного и того же родителя, то можно использовать nextAll и prevAll относительно опорного (this).
Ответить с цитированием
  #3 (permalink)  
Старый 13.03.2010, 14:17
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

$("…").not(this)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить все элементы YISHIMITSY Events/DOM/Window 6 19.02.2010 15:44
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
Как удалить все пустые элементы UL smashercosmo Events/DOM/Window 13 25.02.2009 09:03