Показать сообщение отдельно
  #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 для текущей картинки (не переводит в чб)

Вообще, очень интересно, возможна ли такое обращение к элементам и в такой последовательности? Возможно ли каким-либо способом выделить все элементы, кроме кликнутого и присвоить им что угодно (стиль и т.д.)?
Ответить с цитированием