У меня есть отличный кусок jQuery, который меняет изображение, когда пользователь наводит курсор на изображение. Проверьте код ниже, чтобы увидеть его.
Используются 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
swap _s.jpg
с _o.jpg
.
Любая помощь будет отличной.
ОБНОВЛЕНИЕ 1:
уточнить:
В демоверсии не происходит обмена изображениями. opacity
просто изменяется при проверке входа. В дополнение к изменению непрозрачности, я хотел бы обмен изображениями. По умолчанию все изображения будут черно-белыми, и при выборе входа выбранные изображения будут меняться с черно-белого на цветное (с помощью обмена изображениями).
ОБНОВЛЕНИЕ 2:
Проще говоря, я хотел бы, чтобы все изображения были черно-белыми, пока пользователь не нажмет одну из меток фильтра (печать, веб, гарнитуры и т. Д.). При нажатии на метку нефильтрованные изображения уменьшатся. в непрозрачности и отфильтрованные изображения, которые остаются полностью непрозрачными, будут заменены на цветное изображение.
ОБНОВЛЕНИЕ 3:
Я не могу получить ответы ниже, чтобы работать на меня. Я готов отказаться от техники фильтрации input /: checked / pseudo-class, если она выполнит свою работу. Кроме того, мне очень помог бы рабочий тест (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);
});
});