Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Wyświetlenie obrazka po najechaniu na nazwę.
Forum PHP.pl > Forum > Przedszkole
ciapus4
Witam, jakiego kodu użyć, żeby po najechaniu np. na słowo "zestaw z grila" bez klikania ukazał się obrazek przedstawiający ów zestaw.


Pozdrawiam
cv65
Musisz napisać takie coś np w Jquery do tego użyj hover
ciapus4
A, można przykładowy kod poprosić ?
b4rt3kk
Najpierw musisz ująć te słowa w jakiś blok tekstu wyodrębniony, nadać mu id czy coś, żeby móc to uchwycić w jQuery.

  1. <em rel="costam1">zestaw z grilla</em>


później w jQuery trzeba sobie funkcję machnąć:

  1. $(function() {
  2. $('costam1').mouseover(function(){
  3. //obsługa funkcji
  4. });
  5. });
ze4lot
Ciężko jest zaproponować jakiś gotowy kod gdyż sposobów na rozwiązanie twojego problemu jest sporo. Jeśli chodzi o rozwiązanie w czystym PHP i HTML jest to niestety nie możliwe i trzeba posiłkować się CSS'em / JavaScript'em / ajax'em.
Imo najprościej będzie użyć jQuery (http://api.jquery.com/mouseover/). Do reszty powinieneś dojść sam gdyż nie będzie to trudne.
ciapus4
Dziękuje z zainteresowanie się tematem, w związku z tym, że jestem kompletnie zielony czytaj (uczę się), może ktoś zaproponować jakiś mały przykład, np dla jednego napisu, dajmy nato |schabowy| i wyświetla się zdjęcie schabowego (pewnie truje) wstydnis.gif


pozdrawia
b4rt3kk
  1. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
  2. $(document).ready(function() {
  3. $('.naglowek').mouseover(function(){
  4. $('.obrazek').show('slow');
  5. });
  6. $('.obrazek').mouseout(function(){
  7. $('.obrazek').hide('slow');
  8. });
  9. });
  10. .obrazek {
  11. display: none;
  12. width: 200px;
  13. height: 200px;
  14. border: solid 1px black;
  15. background: red;
  16. position: absolute; top: 0px; left: 0px;
  17. }
  18. .naglowek {
  19. background: green;
  20. position: relative;
  21. width: 200px;
  22. }
  23. </head>
  24.  
  25. <div class="naglowek">schabowy<div class="obrazek">costam</div></div>


Wklej to do pustego dokumentu HTML i odpal. O to chodzi?
ciapus4
Witam, właśnie tak, dziękuję, tylko teraz w które miejsce wstawić ścieżkę do obrazka ?
radziopoke
tutaj:
  1. ...
  2. .obrazek {
  3. ...
  4. background: url(obrazek.jpg);
  5. position: absolute; top: 0px; left: 0px;
  6. }
  7. ...


i najlepiej ustawić jeszcze width i height w tym elemencie na wielkość obrazka smile.gif
ciapus4
1. czyli tu (obrazek.jpg) ?, a rozmiar bo inaczej otworzy się w oryginalnym rozmiarze ?
2. a, czy jest możliwość jak najadę myszą na np. słowo 'dania z grilla' to pojawią się na przykład dwa lub trzy zdjęcia?
3. jeszcze jedno ten kod to gdzie umieścić na stronie z menu, czy zrobić oddzielny plik, z jakimś rozszerzeniem np. .php ?
viking
jQuery jest tu super potrzebne. Niedługo do pogrubienia tekstu niektórzy będą radzić stosowanie tej biblioteki. Jeszcze jak by chociaż przykład był rozwojowy i zgodnie ze sztuką a nie kod który za chwilę wyleci:

  1. $('.naglowek').on('mouseover', function(){
  2. $('.obrazek').show('slow');
  3. });


Kolejne. Na pewno background na klasie przy różnych zdjęciach to bardzo logiczne rozwiązanie.

Czysty HTML i CSS:

  1. <!DOCTYPE html>
  2. <head>
  3. .naglowek {
  4. position: relative;
  5. background: red;
  6. }
  7.  
  8. .obrazek {
  9. display: none;
  10. position: absolute; top: 20px;left:20px;
  11. width: 200px;
  12. height: 200px;
  13. border: solid 1px black;
  14. }
  15. .naglowek:hover .obrazek {
  16. display:block;
  17. background: green;
  18. }
  19. </style>
  20. </head>
  21. <body>
  22. <div class="naglowek">schabowy<div class="obrazek">costam</div></div>
  23. </body>
  24. </html>
b4rt3kk
To tylko przykład, a nie rozwiązanie... Musisz dostosować to do swoich potrzeb. Ale jak się uprzesz, to też możesz i tego użyć, żeby było najprościej to tak:
- umieszczasz w tym samym pliku co chcesz zastosować skrypt
- to co pomiędzy <head>...</head> umieszczasz w head na swojej stronie
- tworzysz miniaturki samodzielnie (przy okazji optymalizujesz czas wczytywania strony), zmniejszanie w css mija się z celem
  1. <div class="naglowek">schabowy<div class="obrazek">costam</div></div>

- wstawiasz w całości tam gdzie chcesz mieć ten nagłówek z obrazkiem
- w miejsce schabowy wpisujesz tytuł
- w miejsce costam dajesz obrazek

To co pomiędzy style musisz zmienić jeszcze:
  1. .obrazek {
  2. display: none;
  3. padding: 5px;
  4. background: white;
  5. position: absolute; top: 0px; left: 0px;
  6. }
  7. .naglowek {
  8. position: relative;
  9. }


Wtedy rozmiar będzie się dostosowywał dynamicznie do zawartości.
ciapus4
Dzięki śliczne, a czy jest możliwość jak najadę dajmy na to na hasło 'potrawy z grilla' to otworzą się dwa lub trzy zdjęcia ?.
b4rt3kk
Jak dasz w miejsce costam, dwa lub trzy obrazki to tak, wyświetlą się.
ciapus4
Dzięki śliczne, a teraz tak jak będzie np. potrawy z grilla, zupy, dania jarski - to muszę napisać 3 takie skrypty ?
b4rt3kk
Nie, powielasz jedynie ten fragment:

  1. <div class="naglowek">schabowy<div class="obrazek">costam</div></div>


Zmieniasz podpis i zdjęcie i tyle. Czyli np. ze schabowego robisz bigos, a w miejsce costam kolejne zdjęcie.
ciapus4
Jeszcze jedno, jak zmniejszyć obszar najeżdżania myszką bo mam np. |spaghetti| to jak wskaże myszką obok napisu to też się pojawia zdjęcie.


pozdrawiam
b4rt3kk
Wywal linijkę width w stylu:
  1. .naglowek {
  2. background: green;
  3. position: relative;
  4. width: 200px; <-- to usuń
  5. }
ciapus4
  1. <tr><td class="d">ŁOSOŚ Z WARZYWAMI </td><td class="w">350 g</td><td class="c">24,00 zł</td></tr>


jak w to wkomponować
  1. <div class="naglowek">schabowy<div class="costam">costam</div></div>


  1. <img src="gfx/losos warzywa.jpg" alt="" width="200" height="200" />
- obrazek który ma się ukazywać po najechaniu myszą

b4rt3kk
  1. <tr><td class="d"><div class="naglowek">ŁOSOŚ Z WARZYWAMI <div class="costam"><img src="gfx/losos warzywa.jpg" alt="" width="200" height="200" /></div></div></td><td class="w">350 g</td><td class="c">24,00 zł</td></tr>
ciapus4
Witam, coś jest nie tak bo jak wklejam to co podałeś, to pojawia się obrazek pod łosoś z warzywami na stałe.

b4rt3kk
  1. <tr><td class="d"><div class="naglowek">ŁOSOŚ Z WARZYWAMI <div class="obrazek"><img src="gfx/losos warzywa.jpg" alt="" width="200" height="200" /></div></div></td><td class="w">350 g</td><td class="c">24,00</td></tr>


Przekleiłem to co wstawiłeś post wyżej, zmieniłeś class diva. To powinno działać.
ciapus4
Kurczę jeszcze jest nie tak, poniewarz danie łosoś z warzywami jest nie w jednej linii, jak na załączonym skrinie.


b4rt3kk
Chyba szybciej by było jakbyś zlecił wykonanie strony komuś kto się na tym zna, bo tak to marnujesz swój czas. To z czym się borykasz to podstawy HTML. Btw. oprócz screena przydałby się fragment kodu.
ciapus4
  1. <strong><u>DANIA JARSKIE</u></strong>
  2. <tr><td class="d">FILET Z MORSZCZUKA PANIEROWANY </td><td class="w">150 g</td><td class="c">9,50zł</td></tr>
  3. <tr><td class="d">PIEROGI Z KAPUSTĄ I GRZYBAMI </td><td class="w">7 szt.</td><td class="c">9,00zł</td></tr>
  4. <tr><td class="d">NALEŚNIKI Z SEREM</td><td class="w">2 szt.</td><td class="c">9,00zł</td></tr>
  5. <tr><td class="d">NALEŚNIKI Z DŻEMEM</td><td class="w">2 szt.</td><td class="c">9,00zł</td></tr>
  6.  
  7. <tr><td class="d"><div class="naglowek">ŁOSOŚ Z WARZYWAMI<div class="obrazek"><img src="gfx/losos warzywa.jpg" alt="" width="300" height="300" /></div></div></td><td class="w">350 g</td><td class="c">24,00 zł</td></tr>
  8. <tr><td class="d">PSTRĄG Z WARZYWAMI </td><td class="w"> w/w 100 g</td><td class="c">7,00 zł</td></tr>
  9. </table>


licze na Ciebie i nie chce żadnego weba.nie pacz na to obraz już jest OK, podpowiec tylko jak, żeby "łosoś z warzywami" by l w jednej linji.
b4rt3kk
Dodaj w sekcji head -> style w stylu o nazwie .naglowek:

  1. white-space: nowrap;


Czyli pomiędzy:
  1. .naglowek {
  2. white-space: nowrap;
  3. }


PS. możesz dać link do swojej strony?
ciapus4
Witam, no i za to "Cię kocham" b4rt3kk - teraz jest git. Restauracja "Maciek"
viking
Teraz mógłbyś jeszcze posprzątać bo cóż to jest?

  1. <div id="content">
  2. <html>


I kilka innych kwiatków. Ten popup wyświetla się tylko dla łososia?
ciapus4
Witam, nie będą jeszcze zrobione inne zdjęcia i dodawane sukcesywnie, ale mam jeszcze jedno pytanie na tej stronie z menu, jak centralnie pod menu wstawić dane kontaktowe, bo podstawiają mi się po lewej ?

Kto chętny na odpowiedz ?
b4rt3kk
Masz tam takie coś:

  1. </div>
  2.  
  3. <div id="foot">
  4. &nbsp;
  5. </div>


Pomiędzy </div> a <div id="foot"> wstaw:

  1. <div style="text-align:center;">dane kontaktowe</div>
ciapus4
A, można jaśniej gdzie jest ten<div id=foot> ? ,albo jak zamknąć tą tabele, żebe można użyć <center>...</center> ?
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.