Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Zmiana sposobu rozwijania + podmiana obrazka
#1
Cześć Wszystkim!

Jestem tu nowym użytkowikiem i z góry zaznaczam że nie za bardzo się jeszcze orientuję w języku JavaScript,

Przygotowuję pewną stronkę z użyciem tego właśnie języka, potrzebowałem ogólnie skryptu który
po kliknięciu na obrazek rozwinie zawartość tekstową, oraz zmieni kolor obrazka z szarego na czerwony(czyli najprościej go podmienić).

W załączeniu podaję link z kodem który tak okroiłem żeby był widoczny tylko problem bez niepotrzebnej zawartości.
----------------------------------
http://infotest.24tm.pl/
----------------------------------
Na stronie widać rozwijaną zawartość, ale nie następuję to płynnie tak jak oczekiwałem.
Udało mi się co prawda zrobić taki efekt że rozwijał się płynnie ale wtedy wszystkie te klocki mi się rozwijały na raz.

Chcę zrobić tak że dany blok rozwija się po kliknięciu na obrazek niezależnie od innych, do tego płynnie, oraz po rozwinięciu
klocek/obrazek zmienia się z szarego na czerwony co sądzę że najprosciej podmieniając go z podobnym obrazkiem.

Mam pytanie czy można to zrobić w jakiś prosty sposób bo ja niestety pomału zaczynam przygotę dopiero z JavaScript.

Proszę o pomoc bo siedzę nad tym detalem już jakiś czas.

-------------------------------------------------------------------------------------------------------
Odpowiedz
#2
To pokaż jak wygląda twój kod w tym momencie.
Odpowiedz
#3
Oj kolego, namąciłeś tak, że aż ciężko to się czyta Smile

W załączniku masz poprawiony kod. Bloki nie powinny być robione jako grafiki, bo tracisz zalety animacji css. W załączniku podsyłam poprawiony kod.


Załączone pliki
.html   poprawka.html (Rozmiar: 7.12 KB / Pobrań: 6)
Odpowiedz
#4
(19-03-2015, 05:52)Kartofelek napisał(a): Oj kolego, namąciłeś tak, że aż ciężko to się czyta Smile

W załączniku masz poprawiony kod. Bloki nie powinny być robione jako grafiki, bo tracisz zalety animacji css. W załączniku podsyłam poprawiony kod.

Wow :-) Ale ekstra! Dziękuję bardzo, super efekt :-)
Problem generalnie można udać za rozwiązany.

A jeszcze tak zapytam, bo po kliknięciu na element efekt jest super, ale tekst pojawia się pod spodem klocka, a czy była by możliwość żeby po kliknięciu klocek wysuwał się do góry a pod spodem tekst (tak jak z pierwszej linijki klocków z mojej strony którą zamieściłem w forum - z drugą linijką mam również taki zamiar bo coś mi się na niej rozjeżdża).

Gdzie dodać formatowanie warunkowe dla IE żeby cały ten kod mi się nie rozjechał?
Zauważyłem to na IE 9.0
Odpowiedz
#5
1) dla .box.show dodaj margin-top:-....px
2) dodaj przed gradientami zwyczajny kolor czyli background:#ddd i odpowiednik dla czerwonego. Możesz je pobrać z samych gradientów (patrz kod). Zgodnie z http://shouldiprefix.com/ gradienty zamiast tak:
Kod:
background: -moz-linear-gradient(45deg, #808080 0%, #808080 6%, #c0c0c0 48%, #808080 95%, #808080 100%);
background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, #808080), color-stop(6%, #808080), color-stop(48%, #c0c0c0), color-stop(95%, #808080), color-stop(100%, #808080));
background: -webkit-linear-gradient(45deg, #808080 0%, #808080 6%, #c0c0c0 48%, #808080 95%, #808080 100%);
background: -o-linear-gradient(45deg, #808080 0%, #808080 6%, #c0c0c0 48%, #808080 95%, #808080 100%);
background: -ms-linear-gradient(45deg, #808080 0%, #808080 6%, #c0c0c0 48%, #808080 95%, #808080 100%);
background: linear-gradient(45deg, #808080 0%, #808080 6%, #c0c0c0 48%, #808080 95%, #808080 100%);

zapisz tak:

Kod:
background: #808080;
background: linear-gradient(45deg, #808080 0%, #808080 6%, #c0c0c0 48%, #808080 95%, #808080 100%);

Ten dłuższy kod dla gradientów brałem z generatora gradientów css3, ale nie trzeba tego stosować, chyba że chcesz wspierać super stare firefoxy i chrome (i tak ich nikt nie używa).

Reszta na ie9 działa.
Odpowiedz
#6
Ok, wstawiłem ten kod dla IE i super działa :-)

W zasadzie to jest już wszystko ekstra i ok, ale jeszcze tak zapytam jak w prosty sposób zrobić że po kliknięciu w klocek przesuwa się on do góry a pojawiający się tekst pojawia się w miejscu tego klocka który poszedł do góry - coś w rodzaju efektu jakby się podnosił.
Odpowiedz
#7
Dla .step {.... dodaj vertical-align:top
Dla .step.show .box {... dodaj margin-top:-50px
Odpowiedz
#8
Dziękuję bardzo :-)
Pomogło, wszystko działa jak należy :-)
Właśnie zostało mi oszczędzone kilka godzin życia na inne przyjemności ;-)
Odpowiedz


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [CSS] Presta 1.7 zmiana w pliku css ?DsxSoft 0 675 07-02-2019, 15:29
Ostatni post: ?DsxSoft
  Zmiana obrazka po najechaniu / Efekt rollover JS manoa 0 3,132 06-12-2018, 18:46
Ostatni post: manoa
  Podmiana tekstu dynamicznego Nikodemsky 4 1,690 01-05-2017, 17:37
Ostatni post: markgeet
  wyśrodkowanie obrazka discoratka 4 1,674 23-08-2013, 03:29
Ostatni post: Kartofelek
  Zmiana obrazka, oraz opisu pod nim po kliknięciu Olsz4k 12 4,348 28-07-2013, 20:10
Ostatni post: Olsz4k

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
Tworzenie sklepów