PDA

Visualizza la versione completa : javascript: scorrimento calendario


ali7.p
07-03-2011, 17:14
Ho un problemino e spero mi possiate dare qualche dritta...

Ho un sito in php strutturato come nell'immagine in fondo.
Il calendario presente in tutte le pagine, ma non inserito in un frame in quanto ho bisogno che interagisca con il resto del sito e non sia indipendente, il "problema" che per quanto le pagine siano leggere e la connessione veloce, il ricaricamente dell'intera pagina quando avanzo nel calendario crea un po' di disorientamento.
Ho quindi bisogno che funzioni con javascript e da quel che ho capito devo quindi "caricare" l'arco di tempo che mi interessa e poi con i controlli dire quale parte del calendario visualizzare, giusto?!
Potete consigliarmi quelche tutorial (in italiano) e/o darmi qualche consiglio?


http://i53.tinypic.com/10qkjew.jpg

Vindav
07-03-2011, 18:27
Ho quindi bisogno che funzioni con javascript e da quel che ho capito devo quindi "caricare" l'arco di tempo che mi interessa e poi con i controlli dire quale parte del calendario visualizzare, giusto?!


:confused:

non per niente chiaro, tutto dipende da come fatto il calendario, immagino lo hai scaricato da qualche parte... hai fornito poche informazioni credo sia impossibile darti una mano.

ali7.p
07-03-2011, 19:04
Il calendario come implementato ora lo ho fatto io tutto in php con una serie di controlli sulle date.
Praticamente:
- se non impostato diversamente visualizzo il mese attuale e quello successivo
- cliccando sui controlli "avanti" - "indietro" aumento o dimunisco di uno una variabile e ricarico tutta la pagina tenendo tutti gli altri parametri
- se seleziono mese e/anno si resetta la variabile di incremento/decremento e vado a visualizzare quel mese (e il successivo) sempre ricaricando tutta la pagina
Poi:
- prima di andare a stanpare un giorno c' il controllo se in quel giorno ho nel database un impegno e/o una scadenza e di conseguenza assegno una classe diversa che attraverso un css d il colore alla cella
- se in quel giorno ho un impegno, ho un <span> che viene visualizzato attraverso css solo quando sono posizionato con il mouse sopra il mese e che mostra l'anteprima degli impegni di quel giorno


In pratica avrei bisogno di una funzione tipo come quelle delle gallerie immagini, solo che al posto delle immagini ci sono le tabelle con i calendari.
- io "precarico" x mesi e con le freccie mi sposto da un punto x a uno y di questo calendario, praticamente scelgo quale parte di una tabella visualizzare in un div.

E' fattibile?

ali7.p
08-03-2011, 11:12
script con lo scorrimento di immagini ce ne sono a valanghe... e quello perfetto lo avrei trovato...
E' possibile - e come dovrei fare - per inserire codice html al posto delle immagini?


imagearray: [
["images/1.jpg"],
["images/t2.jpg"],
["images/3.jpg"],
["images/girl.jpg"]
],

e, altra odmandina, possibile che tale codice html sia generato da una funzione php? (avendo gi tutte le variabili inizializzate, non richiamando qui la funzione)

Vindav
08-03-2011, 12:28
quindi vorresti un array che ad ogni elemento corrisponde un "pezzo" di codice html? credo si possa fare se il codice viene inteso come stringa. Ma sei sicuro di quello che stai facendo mi sembra una cosa alquanto strana.

ali7.p
08-03-2011, 13:01
ho provato, ma niente, accetta solo immagini :-(

La mia idea base era "semplicemente" di avere una tabella di x righe di cui si vede solamente una riga e con i controlli javascript spostarmi da una riga all'altra

Vindav
08-03-2011, 13:34
purtroppo non riesco piu a seguirti prima parlavi del calendario ora di una tabella, non hai un link per farci vedere la tua pagina in funzione?

Ricapitolando: ora funziona tutto ma quando effettui delle operazione sul calendario si ricarica tutta la pagina e questo caricamento molto lungo. Esatto? il problema questo?

La prima soluzione che mi viene in mente non ricaricare la pagina, chiami la raccolta di funzioni php che gestiscono il calendario utilizzando ajax.

La parte della tabella invece non mi ancora chiara.

ali7.p
08-03-2011, 13:53
Lo so, ho fatot un po' di casino, scusami, che provando in un modo e nell'altro ho mischiato un po' le idee.
Il link non te lo posso dare in quanto sto lavorando in un gestionale open sourse di uno studio legale (ma se riesco in serata magari trasferisco le parti che mi interessano su un altro dominio)

Intanto:

1. Calendario e tabella sono la stessa cosa, anzi, neglio parlare di tabella, perch alla fine quello che mi interessa, il calendario solo il contenuto della tabella >> in ogni riga della mia ipotetica tabella di cui voglio visualizzare una riga per volta ci sono 2 mesi del calendario.

2. S, adesso ricarica tutto ed anche se il caricamento veloce un po' fastidioso
praticamente per andare avanti indietro prelevo tutta la query string (per mantenere la vista corrente) e aumento-diminuisco di uno una variabile che quella che controlla quali mesi visualizzare del calendario.

Dici che ajax (di cui non so niente, ma non che in javascript sia pi ferrata) risolva questo problema in modo meno complicato rispetto a quanto pensavo di poter fare con javascript?

Vindav
08-03-2011, 15:59
Dici che ajax (di cui non so niente, ma non che in javascript sia pi ferrata) risolva questo problema in modo meno complicato rispetto a quanto pensavo di poter fare con javascript?


Il punto non questo, ajax e javascript sono strettamente collegati, per effettuare una chiamata asincrona alla tua risorsa php dovrai cmq utilizzare javascript(o uno dei suoi framework).

Ajax non altro che un sistema di sviluppo per applicazione web che consente una comunicazione tra la parte client e server effettuando chiamate asincrone. Questo significa che l'utente che sta visitando quella pagina non si accorger della tua chiamata a php appunto perche questa avviene in background quindi senza ricaricare la pagina. Ti lascio un link (http://it.wikipedia.org/wiki/AJAX) preso da wikipedia dove trovi una dettagliata spiegazione di tutto ci.

Ora tornando alla tua applicazione, tutte le chiamata che facevi a php per andare avanti e indietro nel calendario ecc... dovranno essere sostituite con delle chiamate ajax e la variabile di cui parli, credo non sia altro che un parametro che passi a php quindi dovrai aggiungerla come parametro nella chiamata ajax. La questione della query string per mantenere i dati anche dopo il caricamento non ti interessa piu appunto perche la pagina non viene piu caricata e quindi i valori non dovranno essere reinseriti.

ali7.p
08-03-2011, 18:01
Intanto grazie.

Allora... la teoria mi chiara.
Ho prevato a leggere pi di una guida e cercare esempi, ma niente, non capisco come procedere



<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
function avantiCalendar(prox){
$.ajax({
type: "GET",
url: "",
data: prox,
success: function(dati){
// COSA DEVO SCRIVERE PER AUMENTARE IL MIO PARAMETRO prox DI 1 e aggiornare??
}
});

}
</script>


e poi giusto richiamarla cos?



<form action="" method="get">
<input type="submit" value="&gt;" onClick="avantiCalendario('.($_GET['prox']).')"/></form>

Loading