Domanda

Sto usando il plugin Fancybox e quando l'utente fa clic su una piccola immagine, una più grande immagine si apre. Ho visto il codice per farlo con 1 immagine, ma non per 2, così ho assunto il modo corretto è stato quello di fare solo quanto segue, quale io sono curioso di sapere se è corretto o no? Ti basta mettere l'elemento dichiarazioni si desidera che il fancybox di operare a destra dopo l'altro.

<script type="text/javascript">
    $(document).ready(function() {
        $("a#link1").fancybox();
        $("a#link2").fancybox();
    });
</script>
È stato utile?

Soluzione

Se pensate di avere diversi link che si desidera che questo accada con, si può solo dare loro tutta una classe di fancybox e poi fare:

$(function() {
    $('a.fancybox').fancybox();
});

In questo modo ogni volta che si dispone di nuovi collegamenti che dovrebbero essere scatole di fantasia non si dispone di dare loro ID univoci e tornare al javascript per assicurarsi che essi siano initiliazed. È possibile avere più di 1 classe per ogni elemento in modo che, inoltre, non influenzerà classi esistenti. La maggior parte del tempo in cui si dispone di set di qualcosa è saggio utilizzare le classi in modo da poterli trattare come tale quando manipolarli con jQuery.

Altri suggerimenti

Yep è corretto mettere il codice che si desidera eseguire in pronto di blocco. È possibile utilizzare la sintassi più breve

<script type="text/javascript">
    $(function() {
        $("a#link1").fancybox();
        $("a#link2").fancybox(); 
    });
</script>

, che fa esattamente la stessa cosa.

Sì che sembra buono.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top