Commit 9a4617e8 authored by Nikolay Gromov's avatar Nikolay Gromov

Исправления JS для случаев отсутствия разметки JS-компонентов

parent 4576b521
document.addEventListener('DOMContentLoaded', function(){
var demoNoUiSlider = document.getElementById('demo-nouislider');
var demoNoUiSliderStartInput = document.getElementById('demo-nouislider-start');
var demoNoUiSliderEndInput = document.getElementById('demo-nouislider-end');
noUiSlider.create(demoNoUiSlider, {
start: [demoNoUiSliderStartInput.value, demoNoUiSliderEndInput.value],
connect: true,
step: 1,
range: {
'min': 0,
'max': 100
}
});
demoNoUiSlider.noUiSlider.on('update', function( values, handle ) {
var value = values[handle];
if ( handle ) {
demoNoUiSliderEndInput.value = Math.round(value);
} else {
demoNoUiSliderStartInput.value = Math.round(value);
}
});
demoNoUiSliderEndInput.addEventListener('change', function(){
demoNoUiSlider.noUiSlider.set([null, this.value]);
});
demoNoUiSliderStartInput.addEventListener('change', function(){
demoNoUiSlider.noUiSlider.set([this.value, null]);
});
if(document.getElementById('demo-nouislider')) {
var demoNoUiSlider = document.getElementById('demo-nouislider');
var demoNoUiSliderStartInput = document.getElementById('demo-nouislider-start');
var demoNoUiSliderEndInput = document.getElementById('demo-nouislider-end');
noUiSlider.create(demoNoUiSlider, {
start: [demoNoUiSliderStartInput.value, demoNoUiSliderEndInput.value],
connect: true,
step: 1,
range: {
'min': 0,
'max': 100
}
});
demoNoUiSlider.noUiSlider.on('update', function( values, handle ) {
var value = values[handle];
if ( handle ) {
demoNoUiSliderEndInput.value = Math.round(value);
} else {
demoNoUiSliderStartInput.value = Math.round(value);
}
});
demoNoUiSliderEndInput.addEventListener('change', function(){
demoNoUiSlider.noUiSlider.set([null, this.value]);
});
demoNoUiSliderStartInput.addEventListener('change', function(){
demoNoUiSlider.noUiSlider.set([this.value, null]);
});
}
});
document.addEventListener('DOMContentLoaded', function(){
window.mySwipe = new Swipe(document.getElementById('swipe-demo'), {
startSlide: 0,
speed: 400,
auto: 3000,
draggable: true,
continuous: true,
disableScroll: true,
stopPropagation: true,
callback: function(index, elem, dir) {},
transitionEnd: function(index, elem) {}
});
if(document.getElementById('swipe-demo')) {
// включить видимость блока (по умолчанию скрыт)
document.getElementById('swipe-demo').classList.add('swipe--enable');
window.mySwipe = new Swipe(document.getElementById('swipe-demo'), {
startSlide: 0,
speed: 400,
auto: 3000,
draggable: true,
continuous: true,
disableScroll: true,
stopPropagation: true,
callback: function(index, elem, dir) {},
transitionEnd: function(index, elem) {}
});
// включить видимость блока (по умолчанию скрыт)
document.getElementById('swipe-demo').classList.add('swipe--enable');
}
});
document.addEventListener('DOMContentLoaded', function(){
document.querySelector('#to-top').addEventListener('click', function(e) {
e.preventDefault();
var scroll = window.pageYOffset;
var targetTop = 0;
var scrollDiff = (scroll - targetTop) * -1;
animate({
duration: 500,
timing: function(timeFraction) {
return Math.pow(timeFraction, 4); // https://learn.javascript.ru/js-animation
},
draw: function(progress) {
var scrollNow = scroll + progress * scrollDiff;
window.scrollTo(0,scrollNow);
}
});
}, false);
if(document.getElementById('to-top')) {
document.getElementById('to-top').addEventListener('click', function(e) {
e.preventDefault();
var scroll = window.pageYOffset;
var targetTop = 0;
var scrollDiff = (scroll - targetTop) * -1;
animate({
duration: 500,
timing: function(timeFraction) {
return Math.pow(timeFraction, 4); // https://learn.javascript.ru/js-animation
},
draw: function(progress) {
var scrollNow = scroll + progress * scrollDiff;
window.scrollTo(0,scrollNow);
}
});
}, false);
window.addEventListener('scroll', visibilityToggle);
visibilityToggle();
window.addEventListener('scroll', visibilityToggle);
visibilityToggle();
function visibilityToggle() {
if(window.pageYOffset >= 500) {
document.querySelector('#to-top').classList.add('to-top--visible');
function visibilityToggle() {
if(window.pageYOffset >= 500) {
document.getElementById('to-top').classList.add('to-top--visible');
}
else {
document.getElementById('to-top').classList.remove('to-top--visible');
}
}
else {
document.querySelector('#to-top').classList.remove('to-top--visible');
function animate(_ref) {
var timing = _ref.timing,
draw = _ref.draw,
duration = _ref.duration;
var start = performance.now();
requestAnimationFrame(function animate(time) {
var timeFraction = (time - start) / duration;
if (timeFraction > 1) timeFraction = 1;
var progress = timing(timeFraction);
draw(progress);
if (timeFraction < 1) {
requestAnimationFrame(animate);
}
});
}
}
function animate(_ref) {
var timing = _ref.timing,
draw = _ref.draw,
duration = _ref.duration;
var start = performance.now();
requestAnimationFrame(function animate(time) {
var timeFraction = (time - start) / duration;
if (timeFraction > 1) timeFraction = 1;
var progress = timing(timeFraction);
draw(progress);
if (timeFraction < 1) {
requestAnimationFrame(animate);
}
});
}
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment