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