Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][JavaScript][CSS]Zmiana zawartości i stylu diva po najechaniu myszką
Forum PHP.pl > Forum > Przedszkole
kirkowa
Dzień dobry!

To przede wszystkim, bo jestem nowa. Więc raz jeszcze: dzień dobry smile.gif Dla porządku zaznaczę również, że moja znajomość tworzenia stron ogranicza się do absolutnych podstaw. Mój problem pewnie dla wielu z Was będzie idiotyczny, ale niestety na forum jest tylko "przedszkole", "żłobka" czy "oddziału dla noworodków" nie ma, więc piszę tu.

Sedno sprawy:
Mam dokładnie sześć divów na stronie. Są identyczne pod względem stylu, mają przypisaną klasę, cssa na kolorki, wszystko pięknie. Chciałabym, by po najechaniu myszką na pojedynczego diva zmieniała się jego treść i styl, żeby w "nowej" treści diva użytkownik mógł sobie kliknąć w linka. Co więcej, ideałem by było, gdyby przejście między pierwszą a drugą treścią było łagodne, jak przy zastosowaniu transition w cssie. I tu pojawia się problem. Kompletnie nie wiem, jak się do tego zabrać, czego szukać... Wujek gógle powiedział mi tyle, że sobie mogę kolor zmienić, a za to podziękuję, bo nie o to chodzi. Javascript? Ok, chętnie nawet, ale znów - nawet nie wiem, jak się do tego zabrać. Z tego, co udało mi się do tej pory dowiedzieć, to pomogłaby funkcja w javascript i onmouseover, ale właśnie - co, gdzie i jak?
Absolutnie nie oczekuję gotowca, a jedynie wyznaczenia drogi i opisania rozwiązania językim dla inteligentnych inaczej, żeby udało mi się to wszystko choć w połowie zrozumieć. Zaznaczę też, że cssa, htmla ogarniam całkiem nieźle, php prawie i absolutnie podstawowo, javascript wiem, że istnieje.

Poszukałam odpowiedzi i na Waszym forum, ale nie znalazłam tego, o co mi chodzi.

Proszę o wyrozumiałość i pozdrawiam serdecznie.
Pyton_000
Witaj na forum.

A teraz pokaż co już masz i z czym dokładnie masz problem
tzm
onmouseover albo hover().

http://api.jquery.com/hover/
kirkowa
Chętnie skorzystałabym z porady mitorskiego, ale nie rozumiem (jeszcze), jak mam tego użyć, więc może, tak jak prosił Pyton, napiszę, o co dokładnie mi chodzi.

Mam diva (a dokładniej sześć, w każdym jedno słowo):

<div class="box">
cokolwiek
</div>

Ten div bez najeżdżania myszką wygląda tak:

.box {
width: 200px;
height: 200px;
margin: 5px;
background: #f0f0f0;
float: left;
text-transform: uppercase;
line-height: 195px;
text-align: center;
}

Po najechaniu myszką ma być w tym divie to:

<div class="box2">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus mattis erat gravida pulvinar facilisis. Quisque vitae fermentum felis.
<br><br>
<a href="link">więcej >></a>
</div>

I wyglądać tak:

.box2 {
width: 200px;
height: 200px;
margin: 5px;
background: #55315d;
float: left;
color: #ffffff;
}

Przy czym przejście między pierwszym a drugim ma być łagodne, takie, jakie się robi samym cssem używając transition. Ale samym cssem to się nie da, to nawet ja już wiem.

Na stronie poza tymi divami nie ma nic i nie będzie, poza kodowaniem znaków, dlatego nie wklejam całości. Ach, i jeszcze font, ale to tam mało istotne. W każdym razie - nie mam pojęcia, co dalej. Podesłałabym przykład, o co mi chodzi, ale, jak na złość, nie mogę nic znaleźć.
kpt_lucek
Ja bym to zrobił mniej więcej tak:
  1. <div class="box">
  2. <div class="first">cokolwiek</div>
  3. <div class="second" style="display:none">
  4. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus mattis erat gravida pulvinar facilisis. Quisque vitae fermentum felis.
  5. <br><br>
  6. <a href="link">więcej >></a>
  7. </div>
  8. </div>


I dopiero tutaj bawiłbym się w hovery, mouseentery/outy etc. - pokazywanie i ukrywanie naprzemiennie div'ów z klasami .first i .second na hover w .box
Pyton_000
coś w ten deseń:
http://jsfiddle.net/jCHD7/
kirkowa
Moi Drodzy!

Dziękuję za odpowiedzi. Podejrzewam, że innym na pewno się przydadzą. Mi, niestety, niekoniecznie - moja wiedza jest zbyt ograniczona, by skorzystać z tych rad. Jednak dzięki dobrej radzie i wskazaniu drogi udało mi się w końcu mój problem rozwiązać. Poniżej zamieszczam coś, co u mnie działa tak, jak chcę, aby kto inny, z podobnym poziomem zaawansowania, mógł kiedyś skorzystać:
  1. <div class="box">
  2. cokolwiek
  3. </div>
  4. <div class="second">
  5. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium. <br><Br><a href=""> więcej >></a>
  6. </div>


i CSS do tego, okrojony z kolorów dla porządku:

  1. .box {
  2. width: 200px;
  3. height: 200px;
  4. margin: 5px;
  5. }
  6.  
  7. .second {
  8. width: 200px;
  9. height: 200px;
  10. margin-left: -205px;
  11. margin-top: 5px;
  12. opacity: 0;
  13. transition: opacity 0.5s;
  14. -moz-transition: 0.5s;
  15. -webkit-transition: 0.5s;
  16. }
  17.  
  18. .second:hover {
  19. opacity: 1;
  20. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.