jQuery: используйте альтернативу .toggle (), которая устарела
У меня есть несколько изображений с именем класса.mute_btn» и когда я нажимаю на них, мой источник изображений меняется:
$('.mute_btn').toggle(function () {
var clicked = false;
var src = $(this).attr("src");
src = src.replace(/(.*)\.(png|gif|jpg|jpeg)$/, "$1-over.$2");
$(this).attr("src", src);
}, function () {
var src = $(this).attr("src");
src = src.replace(/(.*)-over\.(png|gif|jpg|jpeg)$/, "$1.$2");
$(this).attr("src", src);
});
Но я'Я видел, что toggle () устарела в jQuery 1.8
Так что я'Я пытаюсь сделать это так:
var clicked = false;
$('.mute_btn').click(function() {
if (clicked) {
var src = $(this).attr("src");
src = src.replace(/(.*)-over\.(png|gif|jpg|jpeg)$/, "$1.$2");
$(this).attr("src", src);
clicked = false;
}
else {
var src = $(this).attr("src");
src = src.replace(/(.*)\.(png|gif|jpg|jpeg)$/, "$1-over.$2");
$(this).attr("src", src);
clicked = true;
}});
Но результат не идеален. Иногда изображения не меняют состояние.
Знаешь что'S не так ?