Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    17

    Menu che si espande in page load

    Ciao...ho realizzato un'applicazione con un menu creato dinamicamente da database. Il mio problema è che ad ogni page_load ( e quando la connessione rallenta) il menu viene espanso totalmente visualizzando tutte le voci prima di richiudersi.

    codice:
    <div id="MainDiv" class="clear hideSkiplink"> <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" Orientation="Horizontal" OnMenuItemClick="NavigationMenu_MenuItemClick" >

  2. #2
    visto che il menù sta dentro un div, aggiungi
    codice:
    display:none;
    allo stile del div,
    poi aggiungi con jquery, con asp, con javascript page_load (insomma, con quello che vuoi),
    una semplice riga di codice javascript che finita di caricare la pagina, rimette visibile il DIV.


    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    17
    Ho provato con ::



    codice:
    protected void Page_LoadComplete(object sender, EventArgs e) { 
    this.NavigationMenu.Style.Add("display", "block"); }
    dopo aver messo

    codice:
    <div id="MainDiv" class="clear hideSkiplink">
            <asp:Menu ID="NavigationMenu" style="display: none"
                      runat="server"
    ma non funziona.

  4. #4
    Purtroppo non è possibile farlo coi metodi convenzionali (css).
    Gli stili sull'oggetto contenitore (il div nella fattispecie) relativi al posizionamento e alla visibilità non vengono considerati finchè il tag è aperto, ovvero finchè la pagina non finisce di caricare l'elemento completo.

    L'unica soluzione che mi viene in mente è precaricare l'elemento tramite javascript e, al termine del caricamento, assegnare l'elemento ad un nodo dell'html.

    Personalmente non l'ho mai fatto, e comunque penso sia un bel casino lavorare in questo senso coi tag server, ma concettualmente e logicamente dovrebbe funzionare.

    Ciao,
    b.

    P.s.: se riesci a farlo, mi piacerebbe vedere lo script

  5. #5
    Originariamente inviato da frestix
    Ho provato con :
    codice:
    protected void Page_LoadComplete(object sender, EventArgs e) { 
    this.NavigationMenu.Style.Add("display", "block"); }
    questo è nel codebehind della pagina!!!!!!!!!!!!!!!
    non va bene.

    devi fare la stessa cosa ma lato javascript!!!!!

    Inoltre io metterei nascosto non il menù, ma il div che lo contiene.

    codice:
    <div id="MainDiv" class="clear hideSkiplink">
        <div id="menuContainer" style="display: none;">
            <asp:Menu ID="NavigationMenu" runat="server">
        </div>
        ...
    codice:
    Page.ClientScript.RegisterStartupScript(this.GetType(), "menuShow", "document.getElementById('menuContainer').style.display='block';", true);

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    17
    ok grazie provo

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.