Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887

    "return false" ed altra richiesta.

    due cose:

    prima
    codice:
    function Popup(NomeFile) 
    { 
       var width = 800;
       var height = 300;
       var left = Math.floor((screen.width-width)/2);
       var top  = Math.floor((screen.height-height)/2);
       window.open(NomeFile, 'objPopup', 'width=' + width + ',height=' + height + ',top=' + top + ',left=' + left); 
       return false;
    } // fine function
    che significa return false in questa funzione ?

    seconda
    devo fare una funzione con un ciclo che chiami un'altra funzione per ognuno dei <div> presenti nel documento. Essi sono 17 ed ogni <div> ha un ID progressivo. (id="1", id="2" etc.)

    la funzione per ogni div, la chiamo in questo modo:
    onClick="expandcontent('1')
    onClick="expandcontent('2')
    etc.
    (in pratica, devo dare la possibilita' di fare un solo clic [su un hyperlink] per espandere tutti i div!)

    come posso fare ?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    1- return false
    valuta il contesto: con ogni probabilita' la funzione e' richiamata onclick su un link -> che avra' un href -> al cui url punterebbe in ogni caso dopo aver eseguito le istruzioni onclick
    ritornando falso il normale link non viene seguito

    se x es in onclick avessi "return Popup(this.href)" c'e' un link che punta correttamente ad altro ducumento in assenza di supporto a javascript e apre correttamente una popup dove js e' supportato

    questo e' il modo corretto di lavorare, chiaramente fin dove e' possibile farlo

    2 - ciclo
    il numero totale dei div lo conosci, quindi, se vanno da 1 a 17
    for(var k=1;k<=17;k++){expandcontent(k)}

    non e' pero' corretto dare come id un numero, i nomi arbitrariamente attribuibili non dovrebbero essere solo numeri ne' cominciare x numero
    se li chiami div1 div17
    for(var k=1;k<=17;k++){expandcontent('div'+k)}

    ciao

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Ti ringrazio molto, sia per la delucidazione che per il ciclo.

    Per quanto riguarda il secondo, funziona benissimo, solo una cosa vorrei ancora fare.

    1 - Il focus sulla pagina torna al top della stessa...esiste un modo di rimanere (o tornare) alla posizione dell'hyperlink che chiama la funzione ?

    2 - Posso cambiare il testo dell'hyperlink da "espandi tutto" a "comprimi tutto" ?

    Ho provato con

    codice:
    window.document.espandi.innerHtml = "Comprimi tutti i rami";
    espandi è l'ID del tag <a> dell'hyperlink. Ma non lo trova...

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    scusa ma il return false di cui stiamo parlando?
    se al click torna al top probabilmente lo fa in conseguenza di un ancora vuota a cui il link punta
    fai ritornare falso

    document.getElementById('espandi').innerHTML='comp rimi tutti i rami'

    ciao

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.