MediaWiki:Common.js: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Pietrodn (discussione | contributi)
Ora FasiAvanzamento.js è un gadget
Pietrodn (discussione | contributi)
Importo qui il codice per gli slideshow, per evitare di appesantire il caricamento della pagina con uno script caricato a runtime (MediaWiki:Common.js/Slideshow.js). Fonte: en:MediaWiki:Common.js/Slideshows.js
Riga 4:
// Slideshows
$.fn.slideshow = ( function() {
mw.loader.load("//it.wikibooks.org/w/index.php?title=MediaWiki:Common.js/Slideshows.js&action=raw&ctype=text/javascript");
return this.each( function() {
var $ss = $(this), $sl = $ss.children( '.slide' ), $actions;
if ( $sl.length < 2 ) {
return;
}
$sl.slice(1).hide();
$actions = $('<div class="slide-actions"><span class="slide-prev"></span><span class="slide-next"></span></div>');
$ss.data( 'slides', { 'at': 0, 'total': $sl.length }).append( $actions ).click( function(e) {
var $where = $( e.target ), $ss, $sl, data;
if ( $where.is( '.slide-prev' ) ) {
e.stopPropagation();
$ss = $(this); $sl = $ss.children( '.slide' ); data = $ss.data( 'slides' );
if ( data.at > 0 ) {
--data.at;
$sl.eq( data.at + 1).fadeOut(1000).end().eq( data.at ).delay(1000).fadeIn(1000);
$ss.data( 'slides', data );
}
} else if ( $where.is( '.slide-next' ) ) {
e.stopPropagation();
$ss = $(this); $sl = $ss.children( '.slide' ); data = $ss.data( 'slides' );
if ( data.at < data.total - 1 ) {
++data.at;
$sl.eq( data.at - 1).fadeOut(1000).end().eq( data.at ).delay(1000).fadeIn(1000);
$ss.data( 'slides', data );
}
}
});
});
});
$.when($.ready).then( function() { $( '.slides' ).slideshow(); } );