Mam pokaz slajdów text / html z Javascriptemjednak po przejściu nowego tekstu potrzebuję również skryptu, aby uruchomić klasę: hover w pozycji menu odpowiadającej treści zawartej w pokazie slajdów.
W celu wizualnego przykładu zobacz: http://i.stack.imgur.com/mkyMJ.png
Przesłałem kod JS do http://pastebin.com/Kp4a7VXP do oglądania.
Byłbym bardzo wdzięczny za pomoc w tej sprawie! :)
Dzięki wielkie!
Z poważaniem, Jake
Odpowiedzi:
0 dla odpowiedzi № 1Próba naśladowania stanu najechania może nie mieć sensu, dlatego lepiej mieć klasę css, taką jak .active
dodany do elementu, dla którego chcesz uzyskać stan najechania, a następnie dołącz css ze stanu najechania do tej klasy.
0 dla odpowiedzi nr 2
Zakładam, że masz CSS jak
.item{
/* normal appearance */
}
i
.item:hover{
/* appearance when mouse over */
}
ale o ile wiem, nie ma sposobu, aby uruchomićpseudo-klasa: najedź przez javascript. Ale możesz użyć do tego standardowej klasy (ale dla semantyki nazwałbym ją jak .currentSlide lub .activeSlide)
.item:hover,
.item.hover{
/* appearance when mouse over
or selected */
}
a następnie możesz dodać i usunąć tę klasę za pomocą javascript dla bieżącego elementu slajdu, na przykład:
currentSlideDiv.classList.add("hover");
EDYTOWAĆ:
Możesz użyć takiej funkcji i zadzwonić highlightCurrentSlideName(currentContentItem);
wewnątrz NextClick()
i PreviousClick()
function highlightCurrentSlideName(slideIndex){
var slideNameList = jQuery(".contentmenu a");
jQuery(slideNameList).removeClass("current"); //unhighlight all slide names
var currentSlide = slideNameList[slideIndex]; //select a slide name by a numeric index
jQuery(currentSlide).addClass("current"); //highlight that element
}
i dodaj klasę do pliku CSS i nadaj jej dowolny styl.
.contentmenu a.current{
color: lightblue;
background-color: gray;
}
PS: Nie jestem programistą jQuery. Zawsze piszę czysty JavaScript, po prostu zauważyłem, że już go masz.