Slyweb
На разработку сайта! Скидки 50%!

Выбрать все элементы кроме $(this)

Вы можете задавать любые вопросы по jQuery.

Выбрать все элементы кроме $(this)

Сообщение shustrikk » 13 мар 2010, 04:54

Ситуация вкратце: есть несколько изображений в качестве ссылок меню, которые при загрузки становятся чб. Для них определены события 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 для текущей картинки (не переводит в чб)

Вообще, очень интересно, возможна ли такое обращение к элементам и в такой последовательности? Возможно ли каким-либо способом выделить все элементы, кроме кликнутого и присвоить им что угодно (стиль и т.д.)?
shustrikk
 
Сообщения: 1
Зарегистрирован: 13 мар 2010, 04:53

Вернуться в Вопросы по jQuery

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron