Witam,
mam kilka divów i każdy z nich ma tą samą klasę. Jak poprawnie zapisać taki kod?
$( ".box_info" ).mouseover(function() {
$(this ".product_info").css("display", "block");
});
Chcę zmienić dane class diva, na którego najadę.
Witam,
mam kilka divów i każdy z nich ma tą samą klasę. Jak poprawnie zapisać taki kod?
$( ".box_info" ).mouseover(function() {
$(this ".product_info").css("display", "block");
});
Chcę zmienić dane class diva, na którego najadę.
$(this, ".product_info")
?
pokaż kod html jaki masz, bo bez tego nie zrobimy.
po co w ogóle odwołujesz się do .product_info
, gdzie ten element leży?
Sprawa wygląda następująco:
<div class="carousel_product">
<div class="box_info"></div>
<div class="product_info"></div>
</div>
box_info wyswietla napis Informacje, chce napisać taki kod, który przy najechaniu na box_info, zmienia product_info na Display:Block.
Przy najechaniu na Informacje ma sie pojawiac szczegolowa informacja o produkcie, która zakryje "Informacje". Kombinuje jak to napisać, taki Hover.
Ale wracając do pytania można odwoływać się do Class Diva tego konkretnego poprzez this ? ?
A to moja funckja, w mouseover ma byc na this:
function ShowProductInfo(){
$( ".box_info" ).mouseover(function() {
$(".product_info").css("display", "block");
});
$( ".box_info" ).mouseout(function() {
$(".product_info").css("display", "none");
});
}
No nie wiem czy to najlepsze rozwiązanie ;p
dodałem wcięcia do Twojego html dla czytelności
przez this
odwołujesz się do diva, na którym wykonujesz akcję. a więc this
wskazuje na box_info
.
wybierając .product_info
wybierasz zawsze wszystkie od nowa.
logika jest taka:
.carousel_product
w kodzie wygląda to tak:
$( ".box_info" ).mouseover(function() {
$(this).siblings(".product_info").css("display", "block");
});
a wiesz, że to samo możesz uzyskać przez czysty CSS i selektor +
? poszukaj ;)
myślałem nad CSS, ale doszedłem do wniosku, że nie da się :D Cóż kod, który podałeś działa świetnie ! Jak zawsze pomocny ;p Zaczynam się uczyć javascriptu/jquery także mam jeszcze problemy. Póki co piszę własną karuzelę z hoverem na boxy
Mam jeszcze jedno pytanie, co zrobić żeby zakryć box_info? Display:none, odpada bo mouseout od razu się włączy, zmiana położenia także. Background dla product_info też bo nie działa. Dodam że box_info będzie w przyszłości Imagem.
umieść .product_info
w środku. to, co teraz masz w .box_info wsadź w kolejnego diva. wtedy jeżeli robisz hover na .box_info
- to na wszystkie jego dzieci. więc ten pierwszy możesz ukryć.
edit: http://jsbin.com/ohErEWiY/1/edit?html,css,output
ps. jeżeli możesz coś zrobić w css - zrób w css, będzie szybciej, zadziała bez JS itd.