Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25

Discussione: spiegazione codice

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    236

    spiegazione codice

    Qualcuno sa spiegarmi cosa fa questa parte di codice?è su un sito in cui viene fatta una cosa come devo farla io, come ho detto nel messaggio precedente.grazie 1000 :-))

    function initialize() {
    var linkList = parent.mappa.document.links;
    for (j=0;j<linkList.length;j++) {
    linkList[j].onclick = handleClick1;
    linkList[j].onmouseover = handleMouseOver1;
    linkList[j].onmouseout = handleMouseOut;
    }
    }


    function handleClick1(evt) {
    var name = getCabinetName(parent.mappa, evt);
    if (name != null)
    addSensors(name);
    return false;
    }
    function handleMouseOver1(evt) {
    var name = getCabinetName(parent.mappa, evt);
    if (name != null)
    window.status = name;
    return true;
    }

    function handleMouseOut(evt) {
    window.status = "";
    return true;
    }

    function addSensors(name) {
    var index;
    if (name.charAt(3) == 'W') {
    index = name.substring(5,6);
    }
    else if (name.charAt(3) == '0') {
    index = name.substring(4,6);
    }
    else {
    index = name.substring(3,6);
    }
    var str = sensors[index];
    for (i = 0; i < str.length; i += 7) {
    var sensor = str.substring(i,i+7);
    if (sensor.charAt(4) == 'S' && sensor.charAt(5) == 't' && sensor.charAt(6) == 'n') {
    if (type != 1) continue;
    } else if (sensor.charAt(5) == 'T') {
    if (type != 2) continue;
    } else {
    if (type != 0) continue;
    }
    var option = new Option(name + ":" + sensor);
    var select = document.form1.sensor_list;
    select.options[select.options.length] = option;
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    633
    il codice serve per settare gli event listener (gestori d'evento) di tutti i link di un frame (o iframe) chiamato "mappa".
    Alcuni miei articoli in PRO.HTML.IT: JavaScript | DHTML | DOM
    Sviluppo : wedev | forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    236

    help codice

    ....non ci riesco!sapresti aiutarmi a modificarlo per il mio scopo?
    ne ho parlato in un messaggio del 27-08-2003 13:02 FedeF79
    non capisco a cosa serve la funzione getCabinetName.

    il sito dove ho preso il codice è:
    http://www.its.washington.edu/tdad/tdad_top.html devo fare una cosa simile.quando si clicca su un punto della mappa mi devono apparire i sensori nella <select multiple>!! ciò che cambia è che non ho i 3 RADIO BUTTON IN ALTO NELLA FORM!

    come posso fare.......GRAZIE

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    633

    Re: help codice

    Originariamente inviato da FedeF79
    ....non ci riesco!sapresti aiutarmi a modificarlo per il mio scopo?
    ne ho parlato in un messaggio del 27-08-2003 13:02 FedeF79
    non capisco a cosa serve la funzione getCabinetName.

    il sito dove ho preso il codice è:
    http://www.its.washington.edu/tdad/tdad_top.html devo fare una cosa simile.quando si clicca su un punto della mappa mi devono apparire i sensori nella <select multiple>!! ciò che cambia è che non ho i 3 RADIO BUTTON IN ALTO NELLA FORM!

    come posso fare.......GRAZIE
    la funzione:
    codice:
    function getCabinetName(frame, evt) {
    	var name;
    	if (isNav5) {
    	  name = evt.currentTarget.href;
    	} else if( isNav4 ) {
    	  name = evt.target.href;
    	} else {
    	  name = frame.event.srcElement.href;
    	}	
    	if (name == null || name.charAt(name.length-7) != 'E') {
    		return null;
    	}
    	name = name.substring(name.length-7,name.length);
    	return name;
    }
    restituisce l'href del link che si è premuto sul frame "frame", usa un codice crossbrowser per rilevare il giusto oggetto sorgente del flusso d'evento.
    Per capire ti farebbe comodo leggere alcuni miei articoli sull'argomento:
    http://pro.html.it/articoli/id_274/idcat_27/pro.html
    http://pro.html.it/articoli/id_273/idcat_27/pro.html

    http://pro.html.it/articoli/id_267/idcat_11/pro.html
    http://pro.html.it/articoli/id_269/idcat_11/pro.html
    ciauz
    Alcuni miei articoli in PRO.HTML.IT: JavaScript | DHTML | DOM
    Sviluppo : wedev | forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    236

    help

    Puoi spiegarmi come faccio ad associare alla mia mappa cliccabile la getCabinetname....ora ho stampato i tuoi articoli...li studio e vediamo un pò di capire qualcosa in più..

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    236

    help

    nella variabile NAME nella funzione getCabinetName non capisco cosa va a mettere...poi non ho capito neppure il
    <code>
    if (name == null || name.charAt(name.length-7) != 'E') {
    return null;
    }
    name = name.substring(name.length-7,name.length);
    return name;
    </code>

    la funzione inizialize() non capisco cosa inizializza...mi sembra tutto così astratto!Puoi aiutarmi?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    633

    Re: help

    Originariamente inviato da FedeF79
    nella variabile NAME nella funzione getCabinetName non capisco cosa va a mettere...
    va a mettere l'"href" del link premuto nel frame in cui si trova, ad esempio, se clicca sulla mappa (frame : mapFrame) i link sono del tipo:
    codice:
    <AREA SHAPE=CIRCLE COORDS="265,3030,10" HREF="/ES-016R">
    in questo caso restituisce : "/ES-016R" (cioè il valore dell'HREF)

    se clicca sotto (frame : listFrame), i link sono del tipo:
    codice:
    ES-016R
    e ti restituisce (ancora) : "\ES-016R"
    Originariamente inviato da FedeF79
    poi non ho capito neppure il
    <code>
    if (name == null || name.charAt(name.length-7) != 'E') {
    return null;
    }
    name = name.substring(name.length-7,name.length);
    return name;
    </code>
    Ora che spero tu abbia capito cosa ritorna getCabinetName, quella funzione non fa altro che restituire il name ricevuto (l'href) senza la 'E' iniziale, se è un name valido, altrimenti restiruisce null.
    Originariamente inviato da FedeF79
    la funzione inizialize() non capisco cosa inizializza...mi sembra tutto così astratto!Puoi aiutarmi?
    come ti ho detto prima, non fa altro che settare i gestori d'evento dei link (tag A e AREA) nei frame mapFrame e listFrame.
    Fa così per evitare di scrivere in ogni link dei frame i gestori d'evento via HTML, cioè col classico:
    codice:
    <A HREF="\ES-016R" onclick="funzione();">
    Il codice non è tra i più banali, percui non ti preoccupare se non capisci, leggiti i miei articoli e vedrai che ci sono diversi modi per settare i gestori d'evento.
    ciauz
    Alcuni miei articoli in PRO.HTML.IT: JavaScript | DHTML | DOM
    Sviluppo : wedev | forum

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    236

    sei gentilissimo.....un altro aiutino

    lo so che non è banale....purtroppo ho fretta e con la fretta non capisco!
    Mi serve un'altra informazione...sei molto preparato,complimenti!
    non capisco deve sono quei file che non hanno estensione del tipo: HREF="/ES-016R">

    ad esempio al mio file che contiene la mappa cliccabile ad un determinato punto sono associati 4 sensori:
    1234
    1235
    1236
    1237
    non capisco come si fa a metterli nella select multipla quando si clicca in quel punto!
    se capissi solo come si fa per una caso...poi il resto lo farei io!

    ultima cosa:
    perchè come eventi hanno considerato solo questi tre?
    onclick
    onmouseover
    onmouseout

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    236

    dubbio

    sei sicuro che il codice:

    if (name == null || name.charAt(name.length-7) != 'E') {
    return null;
    }
    name = name.substring(name.length-7,name.length);
    return name;

    restituisce il nome senza la 'E' iniziale? secondo me elimine lo '\'

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    633

    Re: sei gentilissimo.....un altro aiutino

    Originariamente inviato da FedeF79
    non capisco deve sono quei file che non hanno estensione del tipo: HREF="/ES-016R">
    quello script non usa l'href nel suo normale ruolo (ovvero com indirizzo http), ma vuole solo recuperare la stringa contenuta nell'href. In questo caso vuole solo "/ES-016R", non cambiare indirizzo del frame.
    In quella stringa ci sono tutte le informazioni che gli serve per riempire correttamente la form.
    la funzione addSensors ti spiega come dall'href (il name passato alla funzione) riesca a riempire la form.
    Se guardi in fondo al codice di quella pagina trovi il vettore sensors, riempito con stringhe che poi lui nella funzione decifra.

    Originariamente inviato da FedeF79
    ultima cosa:
    perchè come eventi hanno considerato solo questi tre?
    onclick
    onmouseover
    onmouseout
    beh perchè sono quelli che gli serve
    In realtà l'unico gestore realmente funzionale è l'onclick, gli altri hanno solo lo scopo di cambiare opportunamente la status bar.

    PS: ...vorrei essere preparato come tu creda che io lo sia...
    ciauz
    Alcuni miei articoli in PRO.HTML.IT: JavaScript | DHTML | DOM
    Sviluppo : wedev | forum

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.