Код прокручивает div, когда мышь наведена на кнопку, и предназначен для остановки прокрутки div, если мышь убирают из области наведения мыши. Это работает во всех браузерах, кроме Safari.
Вот сайт в разработке: http://dev.djrefine.com
Это код для левой кнопки, почти идентичный правому:
$('.scroll-left').hover(function(){
var scrollDistance = $('#makeMeScrollable').scrollLeft();
var scrollSpeed = scrollDistance * 2.5;
$('#makeMeScrollable').scrollTo('0px', scrollSpeed);
},function(){
$('#makeMeScrollable').stop();
$('#makeMeScrollable').scrollTo('-=20px', 100);
// stop on unhover
});
Есть идеи, почему сафари не останавливается, когда мышь покидает зону поиска?
Почему-то, когда я сделал jsfiddle, он работает в Safari:
http://jsfiddle.net/8Nkpr/1/
Есть идеи, что отличается на моем сайте, кроме переключения между горизонтальной и вертикальной прокруткой?
Обратите внимание, что на веб-сайте есть еще одна функция, которая отключает кнопки при достижении крайнего левого или дальнего правого угла:
var scrolledItem = $('#makeMeScrollable');
scrolledItem.scroll(function () {
if (scrolledItem.scrollLeft() == 0){
$('.scroll-left').fadeOut('fast');
}
else {
$('.scroll-left').fadeIn('fast');
}
if (scrolledItem[0].scrollWidth - scrolledItem.scrollLeft() == scrolledItem.outerWidth()) {
$('.scroll-right').fadeOut('fast');
}
else {
$('.scroll-right').fadeIn('fast');
}
});