Archive for the JavaScript Category

Utilizzando la libreria Highcharts ho avuto la necessità di non dover stampare i valori 0 (zero) all’interno dei dataLabels, quindi documentandomi un po’ sono arrivato alla soluzione agendo sul parametro formatter:

1
2
3
4
5
6
7
8
9
dataLabels: {
    formatter: function() {
        if (this.y == 0) {
            return "";
        } else {
            return this.y;
        }
    }
}

Highcharts

Ultimamente mi è stato chiesto di far funzionare lo scorrimento delle immagini su Shadowbox anche quando viene cliccata l’immagine corrente. Ho cercato in vari forum e tutti suggerivano di modificare in vari modi i sorgenti di Shadowbox ma questo metodo non mi convinceva molto, se domani aggiornano il js? Meglio procedere diversamente.

Consultando la documentazione ufficiale di Shadowbox ho scoperto che esiste l’opzione onOpen, quindi aggiungendo una riga di jQuery ho ottenuto quello che volevo senza modificare in nessun modo il sorgente.

Il codice funzionante è il seguente:

1
2
3
4
5
6
7
Shadowbox.init({
    modal: true,
    continuous: true,
    onOpen: function(galleryElement) {
        $("#sb-body-inner").attr("onclick","Shadowbox.next()");
    }
});

CKEditor

Da prima delle ferie sto lavorando ad un nuovo software  ed avendo bisogno di un editor inizialmente avevo scelto TinyMCE ma qualche giorno fa, dando un occhiata al sito di FCKEditor, ho avuto la piacevole sorpresa dell’uscita della versione stabile di CKEditor, l’evoluzione di FCKEditor.

Ho visionato le demo on line e non pensandoci due volte ho incluso l’editor nel progetto e devo dire che è uno spettacolo, velocità di caricamento migliorata e nulla di meno di TinyMCE, anzi…

In conclusione ho sostituito TinyMCE e ora sto utilizzando CKEditor e mi sto trovando davvero bene, l’unico difetto, ma credo che si possa risolvere, è che con Firefox l’editor non tiene conto del z-index e siccome in un caso mi si sovrappone con il menu di navigazione (drop down menu) mi crea un piccolo problema sull’interfaccia utente.

Qui potete provare la demo

Oggi ero alle prese con una procedura PHP, Ajax, Javascript e di tutto un po’ e clamorosamente sono caduto in un vuoto di memoria… come faccio a chiamare una funziona javascript che è nella pagina principale da dentro un iFrame…? L’avrò fatto un milione di volte ma questa mattina proprio ci stavo diventando matto!

Ho fatto tutte le prove anche le più stupide e dopo una decina di errori segnalati dal fido FireBug ecco la soluzione!

top.NomeFunzione();

Niente di più semplice :-)

Molto spesso mi capita di dover lavorare dinamicamente sul puntamento agli oggetti in javascript e spesso si presenta la necessità di dover “costruire” il nome di un oggetto concatenando più variabili.

Nel più semplice dei casi la cosa migliore da fare è la seguente: document.getElementById(ID), dove ID è la variabile dinamica; in altri casi invece le cose si complicano come nell’ell’esempio seguente, che ovviamente non funziona: document.forms[MyForm].MyObject.options[ID].selected = true.

Allora bisogna scrivere il puntamento all’oggetto come valore stringa di una variabile…

var Obj = “document.forms["+MyForm+"].”+MyObject+”.options["+ID+"].selected = true”;

… e collegarsi all’oggetto con l’istruzione…

eval(Obj);

Seguendo l’esempio, si seleziona un elemento option di una select.