Aprire dei pannelli automaticamente a seconda del giorno della settimana
- Questo topic ha 8 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 9 anni, 6 mesi fa da jakub lemiszewski.
- AutorePost
- 5 Novembre 2014 alle 18:50 #6435jakub lemiszewskiPartecipante
Salve a tutti sono nuovo del forum.
Avrei bisogno che qualcuno mi mostrasse co un esempio come fare ad aprire dei pannelli automaticamente a secondo del giorno della settimana.
Ho creato 5 pannelli chiamati con i nomi della settimana come lunedi fino a venerdi. Quello che vorrei e quando e per esempio mercoledi il pannello del mercoledi e aperto e cosi via per gli altri giorni.
Per semplificare oggi e mercoledi solo il pannello del mercoledi e aperto. Domani e giovedi e sara aperto solo quello del giovedi.
Spero di essermi fatto capire senno chiedete pure.
Grazie mille dell’aiuto
6 Novembre 2014 alle 13:21 #6436jqueryitaliaAmministratoreCiao jakub e benvenuto!
La tua richiesta è abbastanza semplice da realizzare.
Per verificare il giorno della settimana corrente, devi utilizzare l’oggetto DATE di javascript, eseguendo la seguente chiamata:d = new Date(); // Che ritorna la data in formato Wed Apr 06 2014 12:10:55 GMT+0100 x = d.getDay(); // Che ritorna un numero, che parte da zero per la Domenica
A questo punto ti crei un’array con i giorni della settimana in modo che con il numero recuperato in precedenza puoi trovare il giorno
var days = [ 'dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab' ]; alert ( days[x] );
A questo punto non fai altro che dare come id ai tuoi pannelli i giorni della settimana: otterrai così 5 pannelli con id lun, mar, mer, ecc.
Con il CSS inizialmente porrai tutti i pannelli in display : none ed al caricamento della pagina eseguirai una funzione che metta in display : block il blocco con id uguale al giorno della settimana, cioè:$(function () { var days = [ 'dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab' ]; d = new Date(); x = d.getDay(); $( '#'+ days[x] ).css({ 'display' : 'block' }); });
Per tua comodità ti ho creato un’esempio qui http://jsfiddle.net/jquery_italia/qrggz4ur/
Buon lavoro!
6 Novembre 2014 alle 16:28 #6455jakub lemiszewskiPartecipanteGrazie mille dell’aiuto. C’ero quasi a capirlo mi mancava il pezzo finale.
Grazie mille.
6 Novembre 2014 alle 16:40 #6457jakub lemiszewskiPartecipanteCiao di nuovo lo provato con i miei pannelli ma non funziona mi puoi dire cosa sbaglio perfavore.
Grazie
6 Novembre 2014 alle 17:15 #6458jqueryitaliaAmministratoreParecchie cose a dire il vero Jakub… o_O
- Non stai utilizzando dei Panel (come nel mio esempio), ma degli Accordion
- I TAG html non erano chiusi in modo corretto
- Manca l’id relativa al data-parent nel contenitore
- L’id del contenitore lo hai scritto completo in inglese, mentre i giorni dell’array javascript sono scritti in maniera breve ed in italiano
- Proprio per il fatto che stai utilizzando l’accordion non puoi utilizzare lo switch display none <-> block, ma devi usare la funzione collapse() di Bootstrap
Ti ho corretto l’esempio, guarda qui http://jsfiddle.net/2squ5u9k/7/
6 Novembre 2014 alle 17:24 #6459jakub lemiszewskiPartecipanteCiao grazie della spiegazione. In jsfiddle funziona ma nel mio progetto no. Ho messo solo il pannello thursday + lo script js e nel body ho jquery. Quale potrebbe essere il problema?
grazie
6 Novembre 2014 alle 17:36 #6460jakub lemiszewskiPartecipanteCiao questo e il mio intero codice della pagina dove ci sono quei accordion dalla riga 149 http://laravel.io/bin/W4QJz forse qui ce qualcosa di sbagliato.
Grazie
6 Novembre 2014 alle 18:55 #6461jqueryitaliaAmministratoreLa pagina indicata non è raggiungibile (“Impossibile contattare il server”) 🙁
6 Novembre 2014 alle 19:06 #6463jakub lemiszewskiPartecipanteHo risolto era un problema di conflitto.
Grazie mille dell’aiuto.
- AutorePost
- Devi essere connesso per rispondere a questo topic.
Un commento
I commenti sono chiusi.
Un esempio relativo a questa richiesta lo trovate qui http://jsfiddle.net/jquery_italia/qrggz4ur/