forked from Chaospott/site
Fix elevator
This commit is contained in:
+2
-4
@@ -31,18 +31,16 @@ layout: default
|
||||
</div>
|
||||
</div>
|
||||
<div id="elevator-button{{ forloop.index0 }}" class="elevator-button"><i class="fa fa-arrow-up"></i></div>
|
||||
|
||||
{% endfor %}
|
||||
|
||||
<script>
|
||||
// unfortunately elevator does not support a list of elements yet, hotfix for now, should be removed asap
|
||||
// Elevator script: https://github.com/tholman/elevator.js
|
||||
new Elevator({
|
||||
element: document.querySelector('#elevator-button{{ forloop.index0 }}'),
|
||||
elements: document.querySelectorAll('.elevator-button'),
|
||||
mainAudio: '/media/elevator-music.mp3', // Music from http://www.bensound.com/
|
||||
endAudio: '/media/ding.mp3', // Music from http://www.bensound.com/
|
||||
});
|
||||
</script>
|
||||
{% endfor %}
|
||||
|
||||
<div class="page-navigation" style="text-align:center">
|
||||
{% if paginator.previous_page %}
|
||||
|
||||
@@ -108,14 +108,13 @@ show_mobile_large_logo: true
|
||||
</div>
|
||||
</div>
|
||||
<div id="elevator-button{{ forloop.index0 }}" class="elevator-button"><i class="fa fa-arrow-up"></i></div>
|
||||
{% endfor %}
|
||||
|
||||
<script>
|
||||
// unfortunately elevator does not support a list of elements yet, hotfix for now, should be removed asap
|
||||
// Elevator script: https://github.com/tholman/elevator.js
|
||||
new Elevator({
|
||||
element: document.querySelector('#elevator-button{{ forloop.index0 }}'),
|
||||
elements: document.querySelectorAll('.elevator-button'),
|
||||
mainAudio: '/media/elevator-music.mp3', // Music from http://www.bensound.com/
|
||||
endAudio: '/media/ding.mp3', // Music from http://www.bensound.com/
|
||||
});
|
||||
</script>
|
||||
{% endfor %}
|
||||
|
||||
+29
-12
@@ -27,6 +27,10 @@ var Elevator = function(options) {
|
||||
|
||||
var mainAudio;
|
||||
var endAudio;
|
||||
var mainAudioPath;
|
||||
var endAudioPath;
|
||||
var preloadAudio;
|
||||
var loopAudio;
|
||||
|
||||
var that = this;
|
||||
|
||||
@@ -112,6 +116,8 @@ var Elevator = function(options) {
|
||||
|
||||
requestAnimationFrame( animateLoop );
|
||||
|
||||
loadAudio();
|
||||
|
||||
// Start music!
|
||||
if( mainAudio ) {
|
||||
mainAudio.play();
|
||||
@@ -173,6 +179,19 @@ var Elevator = function(options) {
|
||||
}
|
||||
}
|
||||
|
||||
function loadAudio() {
|
||||
if( !mainAudio && mainAudioPath ) {
|
||||
mainAudio = new Audio( mainAudioPath );
|
||||
mainAudio.setAttribute( 'preload', preloadAudio );
|
||||
mainAudio.setAttribute( 'loop', loopAudio );
|
||||
}
|
||||
|
||||
if( !endAudio && endAudioPath ) {
|
||||
endAudio = new Audio( endAudioPath );
|
||||
endAudio.setAttribute( 'preload', 'auto' );
|
||||
}
|
||||
}
|
||||
|
||||
function init( _options ) {
|
||||
// Bind to element click event, if need be.
|
||||
body = document.body;
|
||||
@@ -181,13 +200,17 @@ var Elevator = function(options) {
|
||||
duration: undefined,
|
||||
mainAudio: false,
|
||||
endAudio: false,
|
||||
preloadAudio: true,
|
||||
preloadAudio: 'none',
|
||||
loopAudio: true,
|
||||
};
|
||||
|
||||
_options = extendParameters(_options, defaults);
|
||||
|
||||
if( _options.element ) {
|
||||
if( _options.elements ) {
|
||||
for( var i = 0; i < _options.elements.length; i++ ) {
|
||||
bindElevateToElement( _options.elements[i] );
|
||||
}
|
||||
} else if( _options.element ) {
|
||||
bindElevateToElement( _options.element );
|
||||
}
|
||||
|
||||
@@ -207,16 +230,10 @@ var Elevator = function(options) {
|
||||
|
||||
window.addEventListener('blur', onWindowBlur, false);
|
||||
|
||||
if( _options.mainAudio ) {
|
||||
mainAudio = new Audio( _options.mainAudio );
|
||||
mainAudio.setAttribute( 'preload', _options.preloadAudio );
|
||||
mainAudio.setAttribute( 'loop', _options.loopAudio );
|
||||
}
|
||||
|
||||
if( _options.endAudio ) {
|
||||
endAudio = new Audio( _options.endAudio );
|
||||
endAudio.setAttribute( 'preload', 'true' );
|
||||
}
|
||||
mainAudioPath = _options.mainAudio;
|
||||
endAudioPath = _options.endAudio;
|
||||
preloadAudio = _options.preloadAudio;
|
||||
loopAudio = _options.loopAudio;
|
||||
}
|
||||
|
||||
init(options);
|
||||
|
||||
Reference in New Issue
Block a user