/ / Zdarzenie click Jquery na div - javascript, jquery, html, css, click

Jquery kliknij wydarzenie na div - javascript, jquery, html, css, kliknij

Mam ten kod:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<style type="text/css">
.kat1 {
background-image:url(ikoniceKategorije/07.jpg);
width:30px;
height:30px;
float:left;
}
.kat1:hover {
background-image:url(ikoniceKategorije/07h.jpg);
}

// here I have a code for .kat2,kat2 ... styles
#div {
width:220px;
height:30px;
overflow:hidden;
}

</style>
<script>
$(function() {
$("#div div").click(function() {
var elem = $(this);
var style = elem.css("background-image");
if(/h.jpg/.test(style)) {
elem.css("background-image", style.replace(/h.jpg/, ".jpg"));
} else {
elem.css("background-image", style.replace(/.jpg/, "h.jpg"));
}
});
});
</script>
</head>

<body>

<div id="div">
<div class="kat1 changing"></div>
<div class="kat2 changing"></div>
<div class="kat3 changing"></div>
<div class="kat4 changing"></div>
<div class="kat5 changing"></div>
<div class="kat6 changing"></div>
<div class="kat7 changing"></div>
</div>
</body>
</html>

Mam problem - kiedy klikam raz div, zmieniam kolor tła, ale kiedy klikam drugi raz na tę samą ikonę, nie mogę zmienić tła div ...

demo www.pluspon.com/kategorije.html

Odpowiedzi:

4 dla odpowiedzi № 1

Dlaczego chcesz mieć tę funkcjonalność w JavaScript? Inną opcją byłoby użycie klas CSS w celu uproszczenia procesu:

$(function() {
$("#div div").click(function() {
$(this).toggleClass("active");
});
});

CSS:

.kat1 {
background-image:url(ikoniceKategorije/07.jpg);
width:30px;
height:30px;
float:left;
}
.kat1:hover,
.kat1.active {
background-image:url(ikoniceKategorije/07h.jpg);
}