|
18 | 18 | };
|
19 | 19 |
|
20 | 20 | window.samples = {};
|
| 21 | + function createSample($el) { |
| 22 | + var index = $el.data("sample"); |
| 23 | + var instance = window.samples[index].initialize($el[0]); |
| 24 | + $el.data("instance", instance); |
| 25 | + return instance; |
| 26 | + }; |
21 | 27 |
|
22 |
| - function initializeOnLoad() { |
23 |
| - |
24 |
| - // Initialize samples and assign them to dom data. |
25 |
| - $("[data-sample]").each(function() { |
26 |
| - var index = $(this).data("sample"); |
27 |
| - var instance = window.samples[index].initialize(this); |
28 |
| - $(this).data("instance", instance); |
29 |
| - |
30 |
| - // Hack to force samples to render at least once before pause. |
| 28 | + function runCurrentSample(currentSlide) { |
| 29 | + $(currentSlide).find("[data-sample]").each(function() { |
| 30 | + var instance = createSample($(this)); |
31 | 31 | if(instance) instance.active = true;
|
32 | 32 | });
|
| 33 | + }; |
33 | 34 |
|
34 |
| - // Hack to force samples to render at least once before pause. |
35 |
| - setInterval(function() { |
36 |
| - $("[data-sample]").each(function() { |
37 |
| - var instance = $(this).data("instance"); |
38 |
| - if(!$(this).closest("section").hasClass("present") && instance) |
39 |
| - instance.active = false; |
40 |
| - }); |
41 |
| - }, 1000); |
| 35 | + function initializeOnLoad() { |
| 36 | + runCurrentSample($("section.present")); |
42 | 37 |
|
43 | 38 | // Activate appropriate sample on slide change.
|
44 | 39 | Reveal.addEventListener('slidechanged', function(event) {
|
| 40 | + // Clear all slides |
45 | 41 | $("[data-sample]").each(function() {
|
46 | 42 | var instance = $(this).data("instance");
|
47 | 43 | if(instance) instance.active = false;
|
48 | 44 | });
|
49 | 45 |
|
50 | 46 | var currentSlide = event.currentSlide;
|
51 |
| - $(currentSlide).find("[data-sample]").each(function() { |
52 |
| - var instance = $(this).data("instance"); |
53 |
| - if(instance) instance.active = true; |
54 |
| - }); |
| 47 | + runCurrentSample(currentSlide); |
55 | 48 | });
|
56 | 49 |
|
57 | 50 | eventEmitter.emitEvent("initialized");
|
|
0 commit comments