Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    dimensionamento dinamico iframe

    Salve,

    ridimensionando dinamicamente un iframe
    ho un errore quando imposto la dimensione
    utilizzando una stringa.
    L'errore è tipo non valido, però l'iframe lo
    dimensiona comunque.

    Il problema si presenta sui browser che segnalano
    il problema con una finestra di alert.
    Altrimenti su altri browser l'errore viene segnalato
    a piè di pagina, ma questo non è un problema.

    Qualcuno ha idea di come posso fare per aggirare il
    problema?


    ------------
    ll_frame = document.getElementById("frm"+nframe);
    ll_image = document.getElementById("img"+nframe);
    dd = ll_frame.style.height;

    // Converte la stringa in numero
    ll = parseInt(dd)
    ll = ll - speed;
    // Riconverte il numero in stringa e lo riassocia
    // alla dimensione del frame.
    dd = ll.toString ()
    ll_frame.style.height = dd; <- qui soi presenta l'errore.

    ------------
    PitSago

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Perche` assegni una stringa dove serve un numero?

    ll_frame.style.height = ll;

    (senza la conversione in stringa)

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Il problema è che a questo modo mi genera un errore
    di "Argomento non valido".

    ------------------------
    function expFrame (nframe)
    {
    var dd, ll, l_frame, l_image
    // Ottiene il numero di righe.

    l_frame = document.getElementById("frm"+nframe)
    l_image = document.getElementById("img"+nframe)
    if ( l_frame.value == 0 )
    { l_image.src = img1.src }

    dd = l_frame.style.height;
    /* // Converte la stringa in numero
    ll = parseInt(dd)
    ll = ll + speed;
    // Riconverte il numero in stringa e lo riassocia
    // alla dimensione del frame.
    dd = ll.toString ()*/
    dd = dd + speed;
    l_frame.style.height = dd;
    // Stoppa lo scorrimento, raggiunta la quota limite.
    if (ll >= dimpg [nframe])
    {
    clearInterval(dropstat)
    l_image.src = img1.src
    l_frame.value = 1;
    }
    }
    ------------------------

    PitSago

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Questo e` decisamente sbagliato: passi una stringa strana, non un numero ragionevole.

    ll = parseInt(dd)
    ll = ll + speed;
    alert("1 - ll = "+ll); // questo e` un numero

    dd = ll.toString (); // qui c'era un inizio commento che non puo` starci
    dd = dd + speed;
    alert("2 - dd = "+dd); // questa e` una stringa strana, probabilmente di 4 o 5 cifre
    l_frame.style.height = ll; // cosi` e` corretto: passi un numero
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Ciao,

    il problema sembra essere risolto e ti ringrazio, ma continuo a non
    capire una cosa, come mai non mi si stoppa al momento in cui ll è
    minore di zero. Continua a ciclare fino a che non assegno -10 all'altezza(e l'errore di prima era proprio questo).


    --------------------------
    ll = parseInt(dd);
    ll = ll - speed;

    // Stoppa lo scorrimento, raggiunta la fine.
    if (ll <= 0)
    {
    alert("1 - ll = "+ll);
    clearInterval (dropstat_b);
    l_frame.style.height = 0;
    l_frame.value = 0;
    l_image.src = img0.src
    }
    l_frame.style.height = ll;
    }
    ---------------------------
    PitSago

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    E` difficile correggere uno script visto a pezzetti sempre diversi.

    Comunque una considerazione:
    Dentro all'if non assegni zero o altro valore a ll, ma alla fine dell'if comunque assegni l'altezza a tale valore di ll.
    Credo che dovresti anceh scrivere ll=0; all'interno dell'if.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Risolto, grazie 1000 Miche.
    PitSago

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 © 2024 vBulletin Solutions, Inc. All rights reserved.