DIV $this class .. Jak to zapisać?

0

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ę.

0

$(this, ".product_info")

?

0
fsafsadf napisał(a):

$(this, ".product_info")

?

sorry, miało być

$(".product_info", this)

0

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?

0

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

1

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:

  1. najeżdżam na .box_info
  2. wybieram .product_info, które jest rodzeństwem mojego najechanego elementu (mają wspólnego rodzica, tu: .carousel_product
  3. pokazuję/ukrywam .product_info

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 ;)

0

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.

1

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0