Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Zmiana obrazka po najechaniu na diva
bahh
post
Post #1





Grupa: Zarejestrowani
Postów: 261
Pomógł: 2
Dołączył: 13.05.2012

Ostrzeżenie: (0%)
-----


Mam taki kod:
  1. <div id="box">
  2. <img src="zdj1.jpg" alt="" />
  3. </div>

Chcę, by po najechaniu na diva o id="box" zmieniło mi obrazek ze zdj1.jpg na zdj2.jpg

Użyłbym hovera, gdyby nie fakt, że zdjęcie ładowało by się podczas najechania. Chcę efektu płynnego przejścia z załadowanym obrazkiem już w tle przy ładowaniu się strony.

Wie ktoś jak coś takiego zrobić? Rzecz jasna jQuery wchodzi w grę.
Go to the top of the page
+Quote Post
markuz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


Do takich rzeczy używa się "css sprites"


--------------------
Go to the top of the page
+Quote Post
bahh
post
Post #3





Grupa: Zarejestrowani
Postów: 261
Pomógł: 2
Dołączył: 13.05.2012

Ostrzeżenie: (0%)
-----


pamiętam, że kiedyś używałem kodu jquery, który sam ładował grafikę na starcie (onload) oraz sam stosował efekt hovera - ta technika jest szybsza od css sprites gdzie musiałbym łączyć grafiki i przerabiać stronę pod tego cssa

markuz, zresztą twoje rozwiązanie nijak ma się do mojego problemu.

Mam diva o wysokości np. 600 pikseli i wysokości 550 pikseli a zdjęcie ma 1/3 tych wymiarów. Także nawet jak użyję css sprites to nic to nie da, bo po najechaniu na diva, img src ma się zmienić na inny
Go to the top of the page
+Quote Post
maviozo
post
Post #4





Grupa: Zarejestrowani
Postów: 197
Pomógł: 24
Dołączył: 22.11.2010

Ostrzeżenie: (0%)
-----


Najprościej (ale chamsko):
Kod
<div id="box" onmouseover="document.getElementById('obrazek').src='zdj2.jpg'">
<img src="zdj1.jpg" id="obrazek" alt="" />
<img src="zdj2.jpg" style="position:absolute;top:-1000px"/>

Zrobienie gotowca dla grup mogłoby wyglądać tak, tylko wymaga stosowania stałego układu DOM oczywiście.
Kod
<div class="box">
<img src="zdj1.jpg" data-nowe="zdj2.jpg"/>
</div>

$(".box img").each(function(){
var $img=$("<img/>",{
src:$(this).data("nowe"),css:{
position:'absolute',top:'-1000px'
}
});
$img.appendTo("body");
}).on("mouseenter",function(){
var $t=$(this);
$t.attr("src",$t.data("nowe"));
});

Mogą być błędy, bo pisałem w okienku, bez sprawdzenia, ale ideę powinieneś złapać. Technicznie sposób z wstawianiem obrazka na -1000 nie jest elegancki, ale pamiętam, że działał.

Ten post edytował maviozo 9.12.2014, 23:50:32
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 20:30