MediaWiki:Common.js: Difference between revisions
Appearance
Cdjensen94 (talk | contribs) |
Cdjensen94 (talk | contribs) |
||
| Line 36: | Line 36: | ||
}); | }); | ||
}); | }); | ||
}); | |||
function waitForStartSlideshow(callback) { | |||
if (typeof startSlideshow === 'function') { | |||
callback(); | |||
} else { | |||
setTimeout(function() { | |||
waitForStartSlideshow(callback); | |||
}, 100); // Try every 100ms | |||
} | |||
} | |||
function initMissingSlideshows() { | |||
var counter = 1; | |||
$('.slideshow').each(function() { | |||
var $this = $(this); | |||
if (!$this.attr('id')) { | |||
var newId = 'slideshow-auto-' + (counter++); | |||
$this.attr('id', newId); | |||
if ($('#' + newId + '-spacer').length === 0) { | |||
$('<div>') | |||
.attr('id', newId + '-spacer') | |||
.insertAfter($this); | |||
} | |||
// Call the slideshow init AFTER we confirm startSlideshow exists | |||
waitForStartSlideshow(function() { | |||
startSlideshow(newId); | |||
}); | |||
} | |||
}); | |||
} | |||
$(document).ready(function() { | |||
mw.loader.load('/extensions/JavascriptSlideshow/js/slideshow.js'); | |||
// Start initializing after ensuring the script is there | |||
waitForStartSlideshow(initMissingSlideshows); | |||
}); | }); | ||