Слайдер фотопленка
Для пролистывания картинок наведите мышку на стрелку вправо / влево или используйте колесико мышки.
Данный пример Слайдер фотопленка реализован на чистом JavaScript и не использует никаких библиотек.
Исходный код этого примера:
<style>
.scroller_container {
padding-left:50px;
padding-top:50px;
}
.scroller_container div {
float: left;
vertical-align: baseline;
}
.scroller_window {
width: 530px;
overflow: hidden;
}
.scroller_row {
position: relative;
white-space: nowrap;
width: 100%;
padding: 22px 0 22px 0;
background: url('images/foto.gif') repeat-x;
}
.scroller_row img {
padding: 0;
margin:0;
}
.scroller_row a {
padding:0;
margin:0;
}
.scroller_container > img{
float: left;
vertical-align: baseline;
padding: 2px 1px 0 1px;
cursor: pointer;
}
a img {
border:0;
height: 100px;
width: auto;
}
</style>
<script>
var _scroller;
_scroller = function () { // scroller
return{
speed:10, /*скорость в милисекундах*/
position:0,
width:0,
step:0,
t:null,
window:0,
// Инициализация скроллера
init: function () {
var el;
// Получить ширину внутренней части скроллера
el = document.getElementById('scroller_rule');
_scroller.width = el.clientWidth;
// Получить ширину окна скроллера
el = document.getElementById('scroller_window');
_scroller.window = el.clientWidth;
// Установка обработчика колесика мыши
addEvent(el, 'mousewheel', this.wheel);
addEvent(el, 'DOMMouseScroll', this.wheel);
// fix размеров для background (Opera, Chrome)
el = document.getElementById('scroller_row');
el.style.width = _scroller.width+'px';
},
// Обработчик колесика мыши
wheel: function (e) {
// Если уже идет прокрутка, то игнорировать событие
if (_scroller.t != null) {
_scroller.stop();
}
e = e ? e : window.event;
var wheelElem = e.target ? e.target : e.srcElement;
var wheelData = e.detail ? e.detail * -1 : e.wheelDelta / 40;
// В движке WebKit возвращается значение в 100 раз больше
if (Math.abs(wheelData) > 100) {
wheelData = Math.round(wheelData / 100);
}
if (wheelData < 0) {
_scroller.step = 5 * Math.abs(wheelData);
_scroller.timer('right', 1);
}
else {
_scroller.step = 5 * Math.abs(wheelData);
_scroller.timer('left', 1);
}
if (window.event) {
e.cancelBubble = true;
e.returnValue = false;
e.cancel = true;
}
if (e.stopPropagation && e.preventDefault) {
e.stopPropagation();
e.preventDefault();
}
return false;
},
// Функция скроллера
scroll: function (dir, wheel) {
var el = document.getElementById('scroller_row');
var step;
if (wheel == 0) {
step = 2;
}else{
step = Math.round(Math.log(_scroller.step * 2) * 2.5);
_scroller.step--;
if (_scroller.step == 0) {
_scroller.stop();
}
}
if (dir == 'left') {
_scroller.position += step;
if (_scroller.position > 0) {
_scroller.position = 0;
_scroller.stop();
}
}
else { // dir='rigth'
_scroller.position -= step;
if (_scroller.position < (_scroller.window - _scroller.width)) {
_scroller.position = _scroller.window - _scroller.width;
_scroller.stop();
}
}
el.style.left = _scroller.position + 'px';
},
// Таймер скроллера
timer: function (dir, wheel) {
_scroller.stop();
_scroller.t = setInterval("_scroller.scroll('" + dir + "', " + wheel + ");", _scroller.speed);
},
// Остановка скроллера
stop: function () {
if (_scroller.t != null) {
clearInterval(_scroller.t);
_scroller.t = null;
}
}
};
}();
/*if(!document.funcDomReady)document.funcDomReady=function(){_scroller.init()};
else onDomReady(_scroller.init);*/
window.onload=function(){setTimeout(_scroller.init,100);}; // стартуем с задержкой, чтобы все прогрузилось
</script>
<div class="scroller_container">
<img src="images/left.gif" alt="" onmousemove="_scroller.timer('left',0);" onmouseout="_scroller.stop();">
<div class="scroller_window" id="scroller_window">
<div class="scroller_row" id="scroller_row">
<div id="scroller_rule">
<a href="#1" onclick="return!1"><img src="http://kdg.htmlweb.ru/photo/praga/b1.jpg" alt=""></a>
<a href="#2" onclick="return!1"><img src="http://kdg.htmlweb.ru/photo/praga/b2.jpg" alt=""></a>
<a href="#3" onclick="return!1"><img src="http://kdg.htmlweb.ru/photo/praga/b3.jpg" alt=""></a>
<a href="#4" onclick="return!1"><img src="http://kdg.htmlweb.ru/photo/praga/b4.jpg" alt=""></a>
<a href="#5" onclick="return!1"><img src="http://kdg.htmlweb.ru/photo/praga/b5.jpg" alt=""></a>
<a href="#6" onclick="return!1"><img src="http://kdg.htmlweb.ru/photo/praga/b6.jpg" alt=""></a>
<a href="#7" onclick="return!1"><img src="http://kdg.htmlweb.ru/photo/praga/b7.jpg" alt=""></a>
<a href="#8" onclick="return!1"><img src="http://kdg.htmlweb.ru/photo/praga/b8.jpg" alt=""></a>
<a href="#9" onclick="return!1"><img src="http://kdg.htmlweb.ru/photo/praga/b9.jpg" alt=""></a>
<a href="#10" onclick="return!1"><img src="http://kdg.htmlweb.ru/photo/praga/b10.jpg" alt=""></a>
</div>
</div>
</div>
<img src="images/right.gif" alt="" onmousemove="_scroller.timer('right',0);" onmouseout="_scroller.stop();">
</div>
<br class="clear">
За основу взят код ManHunter, но полностью переделан на класс, добавлена кроссбраузерность, переделана структура стилей.
Вас заинтересует зацикленный показ картинок в слайдере.
.
Прокомментировать/Отблагодарить









