Avatar billede kren1000 Nybegynder
10. marts 2008 - 12:11 Der er 9 kommentarer og
2 løsninger

Problemed med mouseover script på produktbilleder

Hej eksperter

Jeg er igang med et website, hvor der er produkter i en database. Ved mouseover på produktbillede, skal et større billede blive vist. Det virker fint i explorer, dog ligger billedet bag et designbillede, men i mozilla driller det hele.

Se evt. website: www.foodsense.dk/vine.php

Jeg håber nogen kan hjælpe mig, da jeg ikke har erfaring med javascript, og det kan være det er simplere end jeg tror:).

<img id="stor" class="hover" style="z-index:99;"/>
<?php

print '<div class="scrolltekst">

<div style="text-align: left; vertical-align:top">';

// load images
$tmp = mysql_query("SELECT * FROM `shop_productimage` ORDER BY productid");
$images = array();
while ($row = mysql_fetch_array($tmp)) {
    $images[$row['productid']][] = array($row['imageurl'],$row['bigimageurl']);

}
$Kategori = "2";
$productquery = mysql_query("SELECT * FROM shop_products WHERE active = 'yes' AND kategori = ".$Kategori);
while ($object = mysql_fetch_object($productquery)) {
    $totalimage = count($images[$object->id])-1;
    if ($totalimage < 0) {
        $image = "None";
        $big = "NoneBig";
    } else {
        $rand = rand(0,$totalimage);
        $image = $images[$object->id][$rand][0];
        $big = $images[$object->id][$rand][1];
    }
   
    printf('<div>
        <table width="450">
            <tr>
                <td colspan="2" valign="top" class="productHeaderText"><a href="Produkt.php?ID=%d" class="showProductLink">%s</a></td>
            </tr>
            <tr>
                <td width="100" valign="top">
                    <a href="Produkt.php?ID=%d"><img src="/Image/%s" alt="" onmousemove="visbil(\'/Image/%s.jpg\',event)" onmouseout="skjul();" style="border:1px solid black;"></a>
                </td>
                <td width="350" valign="top" class="productDescription">%s</td>
                <td align="center" width="100" class="productAddToCartTd" valign="top">%s<br /><form action="cart.action.php" method="get"><input type="hidden" value="add" name="action"><input type="text" name="quantity" value="1" size="2"><input type="hidden" name="id" value="%d"><br /><input type="submit" class="btnAddToCart" name="btnAddToCart" value="Læg i kurv"></form></td>
            </tr>
    </table>
    </div>',$object->id,$object->name,$object->id,$image,$big,nl2br($object->description),dkprice($object->price/100*1.25),$object->id);
               
}
               
echo '
</div>

</div>

JAVASCIPTET KODEN

<script type="text/javascript">
var ie = (document.all)?true:false

function visbil(str,f){
e = document.getElementById('stor')
if(ie){
  e.style.top  = f.clientY + document.body.scrollTop + 5;
  e.style.left = f.clientX + document.body.scrollLeft; + 5}
else{
  e.style.top = f.pageY+20 + 5;
  e.style.left = f.pageX; + 5}
vis = (e.style.display=='none')?true:false
if(vis){
  e.src = str;
  e.style.display = "inline";
}
}

function skjul()
{
document.getElementById('stor').style.display = "none";
}
</script>
Avatar billede w13 Novice
10. marts 2008 - 15:56 #1
Nej, du har jo sat div'en til at skære overskydende indhold fra. Derfor ligger de "bag designbilledet", som du siger.

Og hos mig i Firefox (2.0) vises det derimod helt fint.
Avatar billede kren1000 Nybegynder
11. marts 2008 - 08:23 #2
aha, det var overraskende med firefox 2:).

Kan du uddybe omkring diven, evt. se en mulighed for hvordan det kan fixes?
Avatar billede w13 Novice
11. marts 2008 - 15:41 #3
Ligger:

<img id="stor" class="hover" style="z-index:99;"/>

uden for den div, som viser de små billeder?
Avatar billede kren1000 Nybegynder
12. marts 2008 - 09:35 #4
Ja den ligger uden for den div boks der hedder scrolltekst, hvor alt indholdet omkring vine ligger i. Jeg synes dog jeg har prøvet at lægge den ind i selve diven uden held.

Det kan være noget med at den skal positioneres eller noget, altså <img id="stor" class="hover" style="z-index:99;"/>???
Avatar billede w13 Novice
12. marts 2008 - 09:45 #5
Den _bør_ også ligge uden for div'en. Jeg forstår ikke, at det fejler.

Jeg synes dog, du skal droppe z-index helt og i stedet placere billedet allernederst på din side (lige før </body>). Så får den automatisk det allerstørste z-index på siden.
Avatar billede kren1000 Nybegynder
12. marts 2008 - 10:26 #6
Ja ok, den ligger nu udenfor som du foreslog, og i en yderligere div boks, så det virker faktisk i explorer nu, men har dog ikke droppet z-index endnu.

Jeg bruger forresten også firefox 2.0.0.12, og problemet er der, at billedet bliver vist presset op i toppen, så det står og hopper og danser, gør det ikke også det på din?
Avatar billede w13 Novice
12. marts 2008 - 10:29 #7
Jo, nu gør den, men det synes jeg ikke den gjorde tidligere.
Avatar billede kren1000 Nybegynder
12. marts 2008 - 10:40 #8
Nå ok, men det hjalp mig da i explorer med placeringen.

Jeg har fundet et script der funker perfekt til det hele, men har problemer med at få det til at virke, så den henter billeder i databasen dog.
Avatar billede kren1000 Nybegynder
14. marts 2008 - 18:50 #9
Hvis du smider et svar kan vi dele point hvis det er ok, jeg kom da lidt videre:)
Avatar billede w13 Novice
14. marts 2008 - 19:15 #10
Oki :)
Avatar billede w13 Novice
14. marts 2008 - 19:16 #11
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester