Я хочу дать эффект мигания (темный и легкий) при нажатии на кнопку. Я написал следующий код, но он не работает. Поэтому, пожалуйста, помогите мне.
$(document).ready(function () {
$(".search").click(function () {
setInterval(function () {
var curSrc = $("#red").attr('src');
if (curSrc === '../images/lightred.jpg') {
$(curSrc).attr("src", "../images/Darkred.jpg");
}
if (curSrc === '../images/Darkred.jpg') {
$(curSrc).attr("src", "../images/lightred.jpg");
}
}, 2000);
});
});
curSrc
- ваш исходный атрибут, но вы пытаетесь его обернуть в jQuery, который не сделает его объектом. Вам придется снова нацелить #red
а затем установить источник:
if (curSrc === '../images/lightred.jpg') {
$("#red").attr("src", "../images/Darkred.jpg");
}
if (curSrc === '../images/Darkred.jpg') {
$("#red").attr("src", "../images/lightred.jpg");
}
Кажется, вопрос может заключаться в том, как заставить кнопку мигать. Это можно сделать с помощью свойства css background-color. CSS лучше подходит, если lightRed и darkRed являются сплошными цветами. Если изображения необходимы, вы можете использовать свойство background-image.
<input type="button" class="search lightRed" value="Search"/>
<style>
.lightRed { background-color: lightcoral }
.darkRed { background-color: darkRed }
</style>
<script>
$(document).ready(function(){
$(".search").click(function(){
setInterval(function(){
var isLightRed = $(".search").hasClass("lightRed");
if (isLightRed) {
$(".search").removeClass("lightRed").addClass("darkRed");
} else {
$(".search").removeClass("darkRed").addClass("lightRed");
}
},2000);
});
});
</script>