if (elem.addEventListener) {
if ('onwheel' in document) {
// IE9+, FF17+, Ch31+
elem.addEventListener("wheel", onWheel);
} else if ('onmousewheel' in document) {
// устаревший вариант события
elem.addEventListener("mousewheel", onWheel);
} else {
// Firefox < 17
elem.addEventListener("MozMousePixelScroll", onWheel);
}
} else { // IE8-
elem.attachEvent("onmousewheel", onWheel);
}
function onWheel(e) {
e = e || window.event;
var delta = e.deltaY || e.detail || e.wheelDelta;
var info = document.getElementById('delta');
//console.log(delta);
if (delta > 0 ){
if ($('#slider li:last-child').hasClass('rhino-active')) {
console.log('последний');
var top = $("#slider").offset().top + 600;
$('html, body').stop().animate({
scrollTop: top
}, 1000);
}
} else {
if ($('#slider li:first-child').hasClass('rhino-active')) {
console.log('первый');
var top = $("#slider").offset().top - 300;
$('html, body').stop().animate({
scrollTop: top
}, 1000);
}
}
}
С этого и надо было начинать)
вот тебе набросок, там где я вывожу сообщения в консоль влепи проверку на активность первого и последнего слайда ну все что тебе нужно.
var elem = document.getElementById('container');
if (elem.addEventListener) {
if ('onwheel' in document) {
// IE9+, FF17+, Ch31+
elem.addEventListener("wheel", onWheel);
} else if ('onmousewheel' in document) {
// устаревший вариант события
elem.addEventListener("mousewheel", onWheel);
} else {
// Firefox < 17
elem.addEventListener("MozMousePixelScroll", onWheel);
}
} else { // IE8-
elem.attachEvent("onmousewheel", onWheel);
}
function onWheel(e) {
e = e || window.event;
var delta = e.deltaY || e.detail || e.wheelDelta;
var info = document.getElementById('delta');
//console.log(delta);
if (delta > 0 ){
console.log('крутим вниз');
} else {
console.log('крутим вверх');
}
ну так когда пользователь пролистает слайдер до последнего слада пускай его вниз а если на первом то вверх, я так понимаю что этого и нужно достичь. https://github.com/jquery/jquery-mousewheel этот скрипт обрабатывает скролл колесом мыши.
можешь и на jQuery событие scroll использовать.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
$(document).ready(function() {
$('#slider').rhinoslider({
effect: 'none',
controlsPlayPause: false,
cycled: false,
showBullets: 'always',
showControls: 'always'
});
});
var elem = document.getElementById('sliders');
if (elem.addEventListener) {
if ('onwheel' in document) {
// IE9+, FF17+, Ch31+
elem.addEventListener("wheel", onWheel);
} else if ('onmousewheel' in document) {
// устаревший вариант события
elem.addEventListener("mousewheel", onWheel);
} else {
// Firefox < 17
elem.addEventListener("MozMousePixelScroll", onWheel);
}
} else { // IE8-
elem.attachEvent("onmousewheel", onWheel);
}
function onWheel(e) {
e = e || window.event;
var delta = e.deltaY || e.detail || e.wheelDelta;
var info = document.getElementById('delta');
//console.log(delta);
if (delta > 0 ){
if ($('#slider li:last-child').hasClass('rhino-active')) {
console.log('последний');
var top = $("#slider").offset().top + 600;
$('html, body').stop().animate({
scrollTop: top
}, 1000);
}
} else {
if ($('#slider li:first-child').hasClass('rhino-active')) {
console.log('первый');
var top = $("#slider").offset().top - 300;
$('html, body').stop().animate({
scrollTop: top
}, 1000);
}
}
}