Visualizzazione dei risultati da 1 a 10 su 10

Discussione: mover.enabled=false

  1. #1

    mover.enabled=false

    function altezza(mover,arr,step)
    {
    arrivo= arr;
    mover.onEnterFrame= function()
    {
    mover.enabled=false;
    mover._y=linea1._y;
    mover._height+= step;

    if(mover._height >=arrivo)
    {
    mover._height=arr;
    }
    }
    }

    sf1.onRollOver=function(){
    altezza(sf1,300,10)}


    quanto sopra dovrebbe far allugar eun mc a 300 ..giunto a trecento non dovrebbe più essere selezionabile e quindi apparire la freccia al posto della mano...ma non funziona
    perchè?
    per far apparire la freccia devo cliccare oppure entrare e uscire dall'area del mc
    grazie ciao

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    considera che anche in una normale pagina html se ad esempio sei sopra un testo e il puntatore si trasforma in quella specie di I, se poi scrolli con la rotella, o comunque inneschi un evento diverso dal rollout, quel puntatore rimane (almeno con Firefox)

    se non vuoi che al rollover ti si visualizzi la manina, potresti usare la proprietà "useHandCursor"
    ps. ti consiglio di eliminare l'enterFrame alla fine del movimento

  3. #3
    ok
    quindi è normale che rimanga?
    ok userò use hand.. (devo ancora impararla)
    onEnterFrame non posso eliminarlo
    grazie cmq
    ciao

  4. #4
    se metto onEnterFrame

    function allunga(mover, arr, step) {
    mover.onEnterFrame = function() {
    for (i=1; i<4; i++) {
    _root["sf"+i]._height += step;
    }
    if (mover._height>=arr) {
    delete mover.onEnterFrame
    }
    };
    }
    sf1.onRollOver = function() {
    allunga(_root.sf1, 200, 10);
    };
    sf2.onRollOver = function() {
    allunga(_root.sf2, 200, 10);
    };
    sf3.onRollOver = function() {
    allunga(_root.sf3, 200, 10);
    };

    succede che i 3 clip si allungano a 200 ma poi se esco e rientro con il mouse si continuano ad allungare

    secondo te coem mai?

  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Perchè l'altezza del mc viene ricalcolata ogni volta che si richiama la funzione allunga, e per cui ogni volta che si esce e si rientra sul mc.

    Dovresti agire sulla proprietà _yscale del mc oppure valorizzare inizialmente le altezze iniziali dei mc.

    metti una cosa del genere ad inizio script

    sf1.altezza=sf1._height
    sf2.altezza=sf2._height
    sf3.altezza=sf3._height

    e sostituisci questa riga allinterno della funzione

    _root["sf"+i].altezza += step

    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  6. #6
    grazie mille
    ciao

  7. #7
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    :rollo: perchè mi ringrazi se sai che ho scritto una cavolata??!

    in realtà ho tirato le somme senza provare prima il tuo script...

    Prova a sostituire questa parte:

    codice:
    for (i=1; i<4; i++) {
    	with (_root["sf"+i]) {
    		_height = Math.min(arr, _height+step);
    	}
    }
    Math.min limiterà _height al valore arr...

    ...ce la dovremmo aver fatta
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  8. #8
    bhe prima ringrazio poi provo----
    spesso mi arrivano le vostre risposte mentre sto facendo altro
    adesso provo poi ti dico...
    ciao ciao

  9. #9
    per funzionare funziona


    leggo che il metodo min dell'oggetto math valuta x e y, quindi restituisce il valore inferiore tra i due

    math.min(x,y)


    for (i=1; i<4; i++) {
    with (_root["sf"+i]) {
    _height = Math.min(arr, _height+step);
    }
    }


    quindi calcola tra (300, 50+10) la prima volta e sceglie 60
    poi (300,60+10) sceglie 70
    fino a quando (300,300) è costretto a scegliere 300) e il ciclo si bloccaaaaaaaa
    evviva
    questa cosa non la sapevo
    grazie mille
    senza il forum molti di questi problemi non avrei potuto risolverli
    grazie mille

  10. #10
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Originariamente inviato da lurriell
    quindi calcola tra (300, 50+10) la prima volta e sceglie 60
    poi (300,60+10) sceglie 70
    fino a quando (300,300) è costretto a scegliere 300) e il ciclo si bloccaaaaaaaa
    evviva
    Esattamente

    bhe questo può essere un modo.. ce ne sono poi altri 100

    Installa Forum HTML.it Toolset per una fruizione ottimale del 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.