Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    6

    richiamare una funzione Javascript all'interno di un div

    Ciao a tutti,

    sono nuova a questo tipo di discussione, ho un problema, forse banalissimo, che non riesco a risolvere visto che ho poca conoscenza sull'argomento.

    ho il seguente codice in html:


    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Horizontal Slide Menu</title>
    <link rel="stylesheet" type="text/css" href="slidemenu.css" />
    <script type="text/javascript" src="slidemenu.js"></script>
    </head>
    <body onload="slideMenu.build('sm',500,10,10,1)">
    <ul id="sm" class="sm">
    [*][img]images/portrait.jpg[/img]
    [*][img]images/nature.jpg[/img]
    [*][img]images/editorial.jpg[/img]
    [*][img]images/reportage.jpg[/img][/list]
    </body>
    </html>


    Se richiamo la funzione "onload="slideMenu.build('sm',500,10,10,1)" all'interno del body (come nell'esempio) lo script funziona; se lo richiamo all'interno di un div, che racchiude la lista, non funziona più. Why??

    Spero di esser stata chiara.
    grazie

    barby

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    non sapendo cosa fa la funzione si può solo ipotizzare

    ad esempio il primo parametro che passi è 'sm' che è l'id della lista
    all'onload viene passato l'id di questo elemento e la funzione build() probabilmente fa un check sulla presenza dell'elemento in questione

    se richiami la funzione prima che l'elemento con id="sm" esista e sia presente nella struttura del documento non puoi lavorare sull'elemento stesso, di qui la probabile causa dell'errore.

    tu dove mettevi il richiamo alla funzione esattamente?
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    6
    Ciao fcaldera

    grazie per aver risposto. La funzione serve per creare un menu a slide che scorre orrizontalmente quando il mouse ci va sopra.

    ho provato a richiamare la funzione dentro un div che ho creato di nome "content_main":

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Horizontal Slide Menu</title>
    <link rel="stylesheet" type="text/css" href="slidemenu.css" />
    <script type="text/javascript" src="slidemenu.js"></script>
    </head>
    <body>
    <div id="content_main" onload="slideMenu.build('sm',500,10,10,1)">
    <ul id="sm" class="sm">
    [*][img]images/portrait.jpg[/img]
    [*][img]images/nature.jpg[/img]
    [*][img]images/editorial.jpg[/img]
    [*][img]images/reportage.jpg[/img][/list]
    </div>
    </body>
    </html>



    nel CSS ho scritto:

    *{margin:0; padding:0}
    div#content_main {
    position : absolute;
    z-index : 2;
    top: 0;
    left : 15.6%;
    width : 80%;
    height: 100%;
    text-align : left;
    }
    .sm {list-style:none; width:760px; height:450px; display:block; overflow:hidden}
    .sm li {float:left; display:inline; overflow:hidden}


    E' come non caricasse la funzione, appare statica la prima immagine della lista.
    Invece se metto la funzione dentro il body (<body onload="slideMenu.build('sm',500,10,10,1)">) funziona correttamente.
    barby

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.