Il linguaggio JavaScript
 

passo le opzioni personalizzate tramite attributo data nel link ma non so sovrascriverle a quelle di default

roberta sander 11 Ott 2015 15:19
ciao, sto customizzando un ******* lightbox che viene eseguito cliccando su un
link con l'aggiunta di un attributo lightbox
io gli passo mediante attributo data le opzioni per personalizzare il *******
quello che non so come fare è che al click dovrei sovrascrivere le opzioni di
default invece anche se le opzioni le ottengo al click non so come dirgli di
sovrascriverle sopra quelle di default
mi aiutate?

ho aggiunto una variabile globale ma al click non riesco ad aggiornarla o quanto
meno a eseguire il ******* usando le opzioni sovrascritte provenienti dal link
invce che quelle della variabile globale di default
=========================
var s = {
albumLabel: 'Image %1 of %2',
alwaysShowNavOnTouchDevices: false,
fadeDuration: 500,
fitImagesInViewport: true,
// maxWidth: 800,
// maxHeight: 600,
positionFromTop: 50,
resizeDuration: 700,
showImageNumberLabel: true,
wrapAround: false,


}
==========================
nella funzione enable all'onlick mi leggo le nuov opzioni personalizzate che gli
passo attraverso il link con questa riga
s=$(this).data('settings');
ma non so eseguire il ******* con le nuove opzioni, mi considera sempre quelle
di default
questo è il codice
============================
function Lightbox(options) {
this.album = [];
this.currentImageIndex = void 0;
this.init();
//this.options = $.extend({}, this.constructor.defaults);
this.options = $.extend({}, s);
this.option(options);
}

// Descriptions of all options available on the demo site:
// http://lokeshdhakar.com/projects/lightbox2/index.html#options
//Lightbox.defaults = $( "#pop1" ).data( "settings" ); //

Lightbox.defaults = {
albumLabel: 'Image %1 of %2',
alwaysShowNavOnTouchDevices: false,
fadeDuration: 500,
fitImagesInViewport: true,
// maxWidth: 800,
// maxHeight: 600,
positionFromTop: 50,
resizeDuration: 700,
showImageNumberLabel: true,
wrapAround: false,

};

Lightbox.prototype.option = function(options) {

$.extend(this.options, options);

};

Lightbox.prototype.init = function() {
this.enable();
this.build($(this).attr('rel'));



};


Lightbox.prototype.enable = function() {
var self = this;
$('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox],
a[data-lightbox], area[data-lightbox]', function(event) {



s=$(this).data('settings');

self.start($(event.currentTarget));
var divrel=$(this).attr('rel');
self.flipPopup(divrel);


return false;
});

};

==============================

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Il linguaggio JavaScript | Tutti i gruppi | it.comp.lang.javascript | Notizie e discussioni javascript | Javascript Mobile | Servizio di consultazione news.