У меня есть отличный кусок jQuery, который меняет изображение, когда пользователь наводил на изображение. Ознакомьтесь с приведенным ниже кодом, чтобы увидеть его.Изменить jQuery javascript для включения: проверено вместо: hover - image swap
Используется mouseenter
и mouseleave
.
Я хотел был бы изменить его так, чтобы смена изображения срабатывала, когда конкретный вход/метка :checked
.
Вы можете увидеть мою демонстрационную страницу здесь:
http://test.davewhitley.com/not-wp/static_folder/index.php
Чтобы дать Вам некоторый фон, у меня есть 4 входа/метки. Когда один из них установлен, группа изображений будет заменена черно-белой на цветную. У меня есть два файла для каждого изображения (image_s.jpg и image_o.jpg).
Я использую псевдокласс для :checked
, чтобы сделать некоторую фильтрацию. Когда вход проверен, некоторые изображения остаются заполненными opacity
, а другие уменьшаются до opacity:0.1
Я хочу только изображения, которые остаются полной непрозрачностью после проверки ввода цвета.
Поэтому в основном я хочу сказать, что в JavaScript: Всякий раз, когда вход :checked
в #container
своп _s.jpg
с _o.jpg
.
Любая помощь будет отличной.
UPDATE 1: Для уточнения: Там нет изображения подкачки происходит в демо. opacity
только что изменился при проверке ввода. В дополнение к изменению непрозрачности я хотел бы обмен изображениями. Все изображения будут по умолчанию черно-белыми, а когда выбран вход, выбранные изображения будут меняться от черного и белого до цвета (с помощью обмена изображениями).
UPDATE 2: Проще говоря, я хотел бы все изображения, чтобы быть черными и белыми, пока пользователь не нажмет на одном из фильтров этикеток (печать, Интернет, шрифты и т.д.) Когда метка щелкнуть, не отфильтрованные изображения будут уменьшаться в непрозрачности, а отфильтрованные изображения, которые остаются полной непрозрачностью, поменяются на цветное изображение.
ОБНОВЛЕНИЕ 3: Я не могу получить ответы ниже, чтобы работать для меня. Я готов отказаться от метода фильтрации ввода /: проверенного/псевдокласса, если он выполнит свою работу. Кроме того, мой рабочий тест мне очень помог (JSfiddle).
Вот своп изображения JavaScript:
$('.imgover').each(function() {
var std = $(this).attr("src");
var hover = std.replace("_s", "_o");
$(this).clone().insertAfter(this).attr('src', hover).removeClass('imgover').siblings().css({
position:'absolute'
});
$(this).mouseenter(function() {
$(this).stop().fadeTo(200, 0);
}).mouseleave(function() {
$(this).stop().fadeTo(200, 1);
});
});
Что не работает? Ваша демонстрация, похоже, работает, как вы объяснили. –
В демо не происходит обмена изображениями.«Прозрачность» просто изменяется при проверке ввода. В дополнение к изменению непрозрачности я хотел бы обмен изображениями. Все изображения будут по умолчанию черно-белыми, а когда выбран вход, выбранные изображения будут меняться от черного и белого до цвета (с помощью обмена изображениями). – davecave