• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Zmiana treści spana przy najechaniu na diva i powrót do jego wartości przy zjeździe myszki

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
522 wizyt
pytanie zadane 11 czerwca 2020 w JavaScript przez Bakkit Dyskutant (7,600 p.)
zamknięte 12 czerwca 2020 przez Bakkit
Witam. Na mojej stronie jest <div> a w tym divie <span> z tekstem. Chciałbym, aby po najechaniu na diva tekst w spanie się zmieniał, a przy zjeździe myszki z diva powracał do swojej pierwotnej wartości.

Problem jest tu: zawartość spana nie jest stała - jest ona wczytywana z bazy danych, więc najlepiej zapisać zapisać zawartość do zmiennej, zmienić wartość i potem przywrócić ją dzięki zmiennej. Pytanie tylko jak to zrobić? W internecie nie natknąłem się na podobne problemy. Z góry dziękuję za pomoc.
komentarz zamknięcia: Rozwiązanie problemu.
komentarz 11 czerwca 2020 przez pablop76 VIP (123,540 p.)
A skąd ma być zmieniona wartość?
komentarz 11 czerwca 2020 przez Bakkit Dyskutant (7,600 p.)
Byle jaka
komentarz 11 czerwca 2020 przez VBService Ekspert (256,320 p.)
edycja 11 czerwca 2020 przez VBService

@Bakkit, A co można użyć czysty javascript, czy jquery, czy css?

Sam css: on-line

komentarz 12 czerwca 2020 przez Bakkit Dyskutant (7,600 p.)
Byle czego, chcę tylko zmienić treść spana...

2 odpowiedzi

+1 głos
odpowiedź 11 czerwca 2020 przez VBService Ekspert (256,320 p.)
wybrane 12 czerwca 2020 przez Bakkit
 
Najlepsza

Sam css: przykład on-line
 


<div>
   <span id="t_span_1">Lore impuss...1</span>
   <span id="t_span_2">Dore impuss lor ...2</span>
</div>

<style>
div {
  border: 1px solid black;
  width: 150px;
}
div:hover #t_span_1 {
  display: none;
}
div:hover #t_span_2 {
  display: block;
  font-weight: bold;
  color: red;
}
#t_span_1 {
  display: block;
}
#t_span_2 {
  display: none;
}
</style>

 

komentarz 12 czerwca 2020 przez Bakkit Dyskutant (7,600 p.)
Nie bez powodu dałem post w dziale javascript. Gdyby to było takie proste uwierz, że bym nie chciał zajmować nikomu cennego czasu. Chodzi mi o ZMIANĘ TREŚCI spana, a nie utworzenie nowego.
komentarz 12 czerwca 2020 przez VBService Ekspert (256,320 p.)
edycja 12 czerwca 2020 przez VBService

Uruchomiłeś w ogóle ten kod i sprawdziłeś jak to działa. W pierwszym span'ie są dane, które są widoczne po załadowaniu strony. Drugi span jest nie widoczny na stronie, służy tylko jako kontener do zapisania danych, które mają się pojawić po najechaniu myszką na diva. Po zjechaniu myszki pojawiają się dane z pierwszego spana, czyli te widoczne zaraz po załadowaniu strony. W tym konkretnym przypadku nie trzeba ...

najlepiej zapisać zapisać zawartość do zmiennej, zmienić wartość i potem przywrócić ją dzięki zmiennej.

... tworzyć, żadnych zmiennych żeby zapamiętywać wartości, tą "zmienną" do zapamiętania wartości jest zawartość niewidzialnego spana i nie trzeba używać, żadnego dodatkowego kodu javascript do obsługi zdarzenia onmouseover na div, robi to mechanizm wbudowany w css'a (pseudo-klasa hover). Dane może tworzyć np.: skrypt php, tak np.:

<?php
 .....
 .....
?>
<body>
 .....
 .....
<?
$t_span_1 = "Lore impuss...1";
$t_span_2 = "Dore impuss lor ...2";
?>

<div>
   <span id="t_span_1"><?=$t_span_1?></span>
   <span id="t_span_2" style="display:none"><?=$t_span_2?></span>

    można zamiast 2-go span'a użyć <input type="hidden">

   <span id="t_span_1"><?=$t_span_1?></span>
   <input type="hidden" id="t_span_2" name="t_span_2" value='"<?=$t_span_2?>"'>"

</div>

</body>
</html>

Drugi sposób przykładowy. To użycie np.: jquery. ( on-line )


<div id="dane1" m_over="Dore impuss lor ...2">
   <span id="t_span_1">Lore impuss...1</span>
</div>

<script>
 $('#dane1').hover(function(){
   var dane1 = $('#t_span_1', this).html();
   var dane2 = $(this).attr('m_over');
   
   $(this).attr('m_over', dane1);
   $('#t_span_1', this).html(dane2);
 });
</script>

Trzeci można w podobny sposób użyć czysty javascipt. (Jak ktoś nie lubi jquery)

Czwarty sposób można dane pobierać z serwera dynamicznie za pomocą ajax'a, itd.

komentarz 12 czerwca 2020 przez Bakkit Dyskutant (7,600 p.)
Nie chodziło mi w 100% o to co napisałeś, ale faktycznie pomogłeś. Dzięki.
+1 głos
odpowiedź 12 czerwca 2020 przez pablop76 VIP (123,540 p.)

Zapewne Twój problem to asynchroniczność. Poczytaj o tym i zmień ten kod na czysty javascript, pochwal się wynikiem ;)

Podobne pytania

0 głosów
1 odpowiedź 1,476 wizyt
pytanie zadane 24 stycznia 2018 w HTML i CSS przez Nocomentor Początkujący (250 p.)
0 głosów
3 odpowiedzi 3,611 wizyt
pytanie zadane 31 października 2015 w HTML i CSS przez Filip2248 Dyskutant (8,840 p.)
0 głosów
1 odpowiedź 366 wizyt
pytanie zadane 22 lipca 2018 w HTML i CSS przez mibi Nowicjusz (220 p.)

93,188 zapytań

142,204 odpowiedzi

322,027 komentarzy

62,515 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2817p. - dia-Chann
  2. 2769p. - Łukasz Piwowar
  3. 2759p. - Łukasz Eckert
  4. 2704p. - Tomasz Bielak
  5. 2678p. - Łukasz Siedlecki
  6. 2627p. - CC PL
  7. 2485p. - Marcin Putra
  8. 2443p. - rucin93
  9. 2418p. - Michal Drewniak
  10. 2367p. - Adrian Wieprzkowicz
  11. 2317p. - Mikbac
  12. 2156p. - Anonim 3619784
  13. 2127p. - Michał Telesz
  14. 1733p. - rafalszastok
  15. 1628p. - Dominik Łempicki (kapitan)
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...