/ / problemy z kontrolowaniem obrazu tła za pomocą javascript podczas efektu myszy nad efektem w miniaturze div - javascript

problemy z kontrolowaniem obrazu tła za pomocą javascript podczas myszy nad efektem w div miniatury - javascript

Przykro mi, jeśli to dość częste pytanie,ale zapewniam cię, że ostatnie dwa dni spędziłem na czytaniu, aby sprawdzić, czy mogę to samemu rozwiązać, ale niestety jestem tu u twoich stóp i mam nadzieję na radę. Nadal jestem w początkowej fazie nauki javascript.

Zasadniczo mam serię miniaturzawarty w klasie div, która ma powtarzalny obraz tła, nadając mu subtelną teksturę. Mam również skrypt Java, który z powodzeniem wyróżnia indywidualny kontener div na niebiesko, podczas gdy mysz przesuwa się nad miniaturą. Problem, który mam, polega na tym, że efekt jednolitego niebieskiego nie łączy się zbyt dobrze z istniejącym obrazem tła, który wybrałem dla div miniatur. Próbowałem włączyć / wyłączyć obraz tła podczas efektu niebieskiego wskaźnika ma miejsce, ale udało mi się go wyłączyć na stałe tylko po najechaniu myszą / najechaniu myszą.

Oto javascript:

    // this controls the entire div tag and turns it blue
$(".pGrid div a").hover(
function(){
//this if-statement should toggle whether or not the striped background shows when the mouse is hovering
if ($(".pGrid div a").hover !=0) {
$(".pGrid div a").parent().css({ backgroundImage: "none" });
}
else {
$(".pGrid div a").parent().style({ backgroundImage: "url("../images/background_stripes_white.gif")" });
}
//mouse over turn div blue
$(this).parent().stop().animate({
backgroundColor: "#006699",
color: "#ffffff"
}, 350);
// this controls the word-highlight part
$(this).stop().animate({
backgroundColor: "#006699",
color: "#ffffff"
}, 350);
},
// mouse out
function(){
$(this).parent().stop().animate({
backgroundColor: "#d0d0d0",
color: "#000000"
}, 350);
$(this).stop().animate({
backgroundColor: "#d0d0d0",
color: "#006699"
}, 350);
});

Odpowiedzi:

0 dla odpowiedzi № 1

Zamiast zmieniać obraz tła, wystarczy zamienić nazwy klas CSS. Miej jeden ze zdjęciem, a drugi bez niego.

Powinieneś także prawdopodobnie używać display:block na znaczniku A i zastosowaniu do niego tła bezpośrednio (za pośrednictwem klasy CSS) zamiast elementu nadrzędnego.


0 dla odpowiedzi nr 2

Problem rozwiązany. Musiałem zniszczyć instrukcje if-else i umieścić jeden wiersz kodu w każdej funkcji, stwierdzając, że albo ustawię tło na none, albo powrócę do oryginału. Okazuje się też, że źle odnosiłem się do rozszerzeń plików i musiałem usunąć część „../”. Dziękujemy za pomoc @Diodeus bardzo mile widziane!