MediaWiki:Common.js : Différence entre versions
(Enlevé la partie scripts persos) |
(ajout slideshow) |
||
Ligne 17 : | Ligne 17 : | ||
req.open('GET', "https://s3-static.geo.gfsrv.net/cookiebanner/version.json"); | req.open('GET', "https://s3-static.geo.gfsrv.net/cookiebanner/version.json"); | ||
req.send(); | req.send(); | ||
+ | })(); | ||
+ | |||
+ | |||
+ | |||
+ | /* Slideshow pour faire défiler les images, c'est du JS pompé sur le wiki italien */ | ||
+ | (function() { | ||
+ | |||
+ | function Slideshow( element ) { | ||
+ | this.el = document.querySelector( element ); | ||
+ | this.init(); | ||
+ | } | ||
+ | |||
+ | Slideshow.prototype = { | ||
+ | init: function() { | ||
+ | this.wrapper = this.el.querySelector( ".slider-wrapper" ); | ||
+ | this.slides = this.el.querySelectorAll( ".slide" ); | ||
+ | this.previous = this.el.querySelector( ".slider-previous" ); | ||
+ | this.next = this.el.querySelector( ".slider-next" ); | ||
+ | this.index = 0; | ||
+ | this.total = this.slides.length; | ||
+ | |||
+ | this.actions(); | ||
+ | }, | ||
+ | _slideTo: function( slide ) { | ||
+ | var currentSlide = this.slides[slide]; | ||
+ | currentSlide.style.display="block"; | ||
+ | |||
+ | for( var i = 0; i < this.slides.length; i++ ) { | ||
+ | var slide = this.slides[i]; | ||
+ | if( slide !== currentSlide ) { | ||
+ | slide.style.display="none"; | ||
+ | } | ||
+ | } | ||
+ | }, | ||
+ | actions: function() { | ||
+ | var self = this; | ||
+ | self.next.addEventListener( "click", function() { | ||
+ | self.index++; | ||
+ | self.previous.style.display = "block"; | ||
+ | |||
+ | if( self.index == self.total - 1 ) { | ||
+ | self.index = self.total - 1; | ||
+ | self.next.style.display = "none"; | ||
+ | } | ||
+ | if (self.index > self.total) {self.index = self.total} | ||
+ | if (self.index < 1) {self.index = 1} | ||
+ | self._slideTo( self.index ); | ||
+ | |||
+ | }, false); | ||
+ | |||
+ | self.previous.addEventListener( "click", function() { | ||
+ | self.index--; | ||
+ | self.next.style.display = "block"; | ||
+ | |||
+ | if( self.index == 0 ) { | ||
+ | self.index = 0; | ||
+ | self.previous.style.display = "none"; | ||
+ | } | ||
+ | |||
+ | self._slideTo( self.index ); | ||
+ | |||
+ | }, false); | ||
+ | } | ||
+ | |||
+ | }; | ||
+ | document.addEventListener( "DOMContentLoaded", function() { | ||
+ | |||
+ | var slider = new Slideshow( "#main-slider" ); | ||
+ | }); | ||
})(); | })(); |
Version du 2 octobre 2018 à 18:36
/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */
$('div#content').append( "<div class='content-footer'></div>" );
(function () {
var req = new XMLHttpRequest();
req.addEventListener('load', function (ev) {
if (this.status >= 200 && this.status < 300) {
var data = JSON.parse(this.responseText);
if (data.hasOwnProperty('version')) {
var gdpr = document.createElement("script");
gdpr.src = "https://s3-static.geo.gfsrv.net/cookiebanner/" + data.version + "/cookie.min.js";
document.head.appendChild(gdpr);
}
}
});
req.open('GET', "https://s3-static.geo.gfsrv.net/cookiebanner/version.json");
req.send();
})();
/* Slideshow pour faire défiler les images, c'est du JS pompé sur le wiki italien */
(function() {
function Slideshow( element ) {
this.el = document.querySelector( element );
this.init();
}
Slideshow.prototype = {
init: function() {
this.wrapper = this.el.querySelector( ".slider-wrapper" );
this.slides = this.el.querySelectorAll( ".slide" );
this.previous = this.el.querySelector( ".slider-previous" );
this.next = this.el.querySelector( ".slider-next" );
this.index = 0;
this.total = this.slides.length;
this.actions();
},
_slideTo: function( slide ) {
var currentSlide = this.slides[slide];
currentSlide.style.display="block";
for( var i = 0; i < this.slides.length; i++ ) {
var slide = this.slides[i];
if( slide !== currentSlide ) {
slide.style.display="none";
}
}
},
actions: function() {
var self = this;
self.next.addEventListener( "click", function() {
self.index++;
self.previous.style.display = "block";
if( self.index == self.total - 1 ) {
self.index = self.total - 1;
self.next.style.display = "none";
}
if (self.index > self.total) {self.index = self.total}
if (self.index < 1) {self.index = 1}
self._slideTo( self.index );
}, false);
self.previous.addEventListener( "click", function() {
self.index--;
self.next.style.display = "block";
if( self.index == 0 ) {
self.index = 0;
self.previous.style.display = "none";
}
self._slideTo( self.index );
}, false);
}
};
document.addEventListener( "DOMContentLoaded", function() {
var slider = new Slideshow( "#main-slider" );
});
})();