Autor Zpráva
gogy27
Profil
Dobrý deň,
pomocou jquery chcem každému divu v cykle priradiť fuknciu onmouseenter. Ale v cykle mi to urobi iba pre prve dve a na ďalšie sa vykašle, neviem kde je problém.
Pridávam funkcie onmouseenter a onmouseleave aby sa mi prehralo video. Ukážka prvé dve hry v action games funguju fajn ale zvyšok nie. Keď si pozrete zdroják tak pred každým sa nachádza <script>...</script> ale nepriradí to správne. Neviem kde je chyba. Viem, že to možno robím veľmi neefektívne ale nenapadlo ma iné riešenie.
Ďakujem za pomoc.
pcmanik
Profil
gogy27:
Keby si nám ukázal ten cyklus?
Skús sa pozrieť na delegovanie udalostí. Nepotrebuješ dávať každému divu udalosť, stačí ju dať na rodiča.
gogy27
Profil
pcmanik:
Cyklus je klasicke vyťahovanie z databázy:
<?php
$category_games = mysql_query("SELECT * FROM games WHERE (category_id = $row[id] OR category_parent = $row[id]) AND published=1 ORDER BY id DESC LIMIT 4");
    
while($cat_games = mysql_fetch_array($category_games)) {
    $game = GameData($cat_games, 'homepage'); //toto je funkcia, ktora do pola game vrati veci ako id, name, url a podobne...
?>    
    
    <script>
    $('#video-<?php echo $game["id"]; ?>').mouseenter(function(){
      $('#video-<?php echo $game["id"]; ?>').html('<object type="application/x-shockwave-flash" data="http://www.pacogames.com/2.swf" width="163" height="123"><param name="wmode" value="transparent"><param name="movie" value="http://www.pacogames.com/2.swf"><param name="quality" value="high"><param name="mute" value="1"></object>');
    })
    $('#video-<?php echo $game["id"]; ?>').mouseleave(function(){
      $('#video-<?php echo $game["id"]; ?>').html('');
    })
</script>

<?php
echo '
<li id="videobox-'.$game['id'].'">
<div id="video-'.$game['id'].'" style="display:block; position: absolute; top: 5px; width: 163px; height: 182px;"></div>
  <a href="'.$game['url'].'">
     <img class="BOXGAMES_IMG" src="'.$game['image_url'].'" alt="play '.$game['name'].'" /><br />'.$game['name'].' '.$game['highscore_image'].'
  </a>
    <span style="width: 100px; height: 22px; float:left; padding: 5px 30px 0 30px;">'.$game['rating'].'</span>
    <p class="BOXGAMES_PLAYS">'.$game['plays'].' Plays </p>
</li>';

}

Tam v scripte je video na pevno stanovene, ale v skutocnosti aj to video sa bude tahat z db nieco na styl $game['video_url']


Skúšal som to vyriešiť cez funkcie onmouseover a onmouse out, lenže teraz tomu vadí ten <object>, ktorý sa tam objaví vďaka onmouseover, dá sa to nejako obísť?
Ďakujem

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: