Newsgroup: it.comp.lang.javascript
Titolo: (per Gianni) Scroll menu.

Ho provato a fare ciň che mi hai scritto ma qualcosa non va.
Ti invio il listato completo per farti capire meglio la situazione.
Sicuramente c'e' qualche errore di sintassi o impostazione. Ho bisogno che
il DIV salga e scenda (partendo dalla sua posizione iniziale da me definita)
in base allo scrolling e cosě facendo non esca mai dalla visuale del
visitatore proprio come in 
www.poste.it
 . Ho inserito molti <BR> apposta per
permettere lo scrolling in basso.
Grazie!
<HTML>
<HEAD>
<TITLE>Scroll menu</TITLE>
<script language="JavaScript">
function top(){
 return                                         /***** Mi da sempre un
errore su questa riga******/
 (document.body)document.body.scrollTop:(window.pageYOffset)window.pageYOff
 set:(window.scrollY)window.scrollY:0;
}
function scrolling(){
 document.getElementById("D1").style.top= top();
}
onscroll = scrolling;
</script>
</HEAD>
<BODY bgcolor="azure" >
<div id="D1" style="position:absolute;top=100;left=50">
prova: div scroll
</div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
</BODY>
</HTML>

 Grazie!
Prego e sottolinea anche un po' la mia magnificenza, visto che sto
antipatico a molti   :"(( e devo recuperare qualche punto ;-)

 bensě:


> Non sapevo dell'utilizzo degli "?" in JS. A che servono?
Ma scusa, non sai una cosa e allora la cancelli!!!
E dopo vedendo che non và non ti chiedi chissà come mai?

> Non sapevo dell'utilizzo degli "?" in JS. A che servono?
Utilizzato in questo modo č un operatore condizionale,
cioč il costrutto espr1?espr2:espr3; č del tutto equivalente a
if(espr1)
    espr2;
else
    espr3;
E' una maniera meno leggibile (e forse elegante) per rappresentare la stessa
cosa, perň il tutto si presenta in maniera piů sintetica!

Ci risiamo.
Con questo listato mi da 2 errori:
<HTML>
<HEAD>
<TITLE>Scroll menu</TITLE>
<script language="JavaScript">
function top()
{
return
(document.body)?document.body.scrollTop:(window.pageYOffset)?window.pageYOff
/*******1           Previsti ':'*****/
set:(window.scrollY)?window.scrollY:0;
}
function scrolling()
{
document.getElementById("D1").style.top=top();
}
</script>
</HEAD>
<BODY bgcolor="azure" onscroll="scrolling()">
<!-- 2       Previsto 'oggetto' -->
<div id="D1" style="position:absolute;top=100;left=50">
prova: div scroll
</div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
</body>
</html>

 Con questo listato mi da 2 errori:
Guarda le correzioni che ho fatto non dovrebbero essere decisive, quindi
devo supporre che hai "cucito" male, prova questo:
<html>
<head>
<title>Scroll menu</title>
<script language="JavaScript">
function top()
{
return
(document.body)?document.body.scrollTop:(window.pageYOffset)?window.pageYOff
set:(window.scrollY)?window.scrollY:0;
//deve stare tutto su una riga => return (doc...)?....0;
}
function scrolling()
{
document.getElementById("D1").style.top=top();
}
</script>
</head>
<body bgcolor="azure" onScroll="scrolling()">
<div id="D1" style="position:absolute;top:0;left:50">
DIV scroll


Funziona!
Perň quando torno su con lo scroll si allinea in alto e non si blocca piů al
livello originale <div style="position:absolute;top=100;left=50">
Se noti in 
poste.it
 il ritorno di scroll si blocca alla posizione originale.
Io poi nella <div> ci vado ad inserire una <table>.
Aiutami tu.

 Aiutami tu.
Ci penso io :)

 > Però quando torno su con lo scroll si allinea in alto e non si blocca
più


 posizione originale.
Ah, giusto, devi scrivere:
return (top<100)?100:top;
(e non come ti avevo detto: return (!top)?100:top;)
Dove 100 è il valore iniziale di posizionamente dall'alto (top) del tuo div.
Quindi se in un futuro volessi cambiare questo valore, allora devi farlo sia
per il <div> che per la funzione, può essere utile l'utilizzo di una
variabile globale...
Concludendo, tutta questa fatica, però poi funziona solo con IE e OP7, in
quanto l'evento onScroll non è riconosciuto universalmente, prova ad
inventati qualcosa con la proprietà fixed di position che hanno sia NN6+,MZ
che OP4+. ATTENTO IE però interpreta "fixed" come "relative" quindi non
basta cambiare quello e aspettarsi che funzioni. In quel caso non te lo
avrei neanche detto ;-)
Buona fortuna e fammi sapere l'eventuale idea che ti è venuta per renderlo
conpatibile!

 ha scritto nel messaggio
news:gFMqa.9938$3M4.2...@news1.tin.it...


Ciao ascolta, nel giro di un paio di giorni dovremmo mettere in rete questo
script. Vattelo a scaricare presumibilmente qui:
http://www.jsdir.com/staffscripts/script084.asp
oppure cercalo qui:
http://www.jsdir.com/staffscripts/scripts.asp
E' completo! Assolutamente compatibile con tutti i browser e frutta quando è
possibile le proprietà position:fixed! che consente una staticità
dell'elemento assoluta! Altro che quel traballio inevitabile di IE

 dell'elemento assoluta! Altro che quel traballio inevitabile di IE
Gianni ti prego, non annunciare nel NG... che se poi non ho tempo per 
aggiornare mi vedo i 404 che spiccano il volo :-(
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
Per rispondere: togli il PUNTO e metti un .

 aggiornare mi vedo i 404 che spiccano il volo :-(
Sono ASSOLUTAMENTE mortificato!!!
Chiedo scusa e per farmi perdonare oltre a questo script (che se non ricordo
male forse sarà utile anche a te), ti regalerò prossimamente un loading
spaziale!