mam przepisany kod z odpowiedzią przez @ Anonymous-sałaty. Ponowne obliczenie szerokości elementu jest pomijane, ponieważ było niepotrzebne, a czasem niepożądane. Zapewnia to również dodatkową funkcję do przekazywania scroll-amount
w px
do wtyczki.
Używaj go tak:
$(document).ready(function(){
$('#your_div').hScroll(100); // You can pass (optionally) scrolling amount
});
Tu idzie uaktualnionej wtyczki jquery.hscroll.js
:
jQuery(function ($) {
$.fn.hScroll = function (amount) {
amount = amount || 120;
$(this).bind("DOMMouseScroll mousewheel", function (event) {
var oEvent = event.originalEvent,
direction = oEvent.detail ? oEvent.detail * -amount : oEvent.wheelDelta,
position = $(this).scrollLeft();
position += direction > 0 ? -amount : amount;
$(this).scrollLeft(position);
event.preventDefault();
})
};
});
Oto minified wersja tego samego jquery.hscroll.min.js
:
jQuery(function(e){e.fn.hScroll=function(l){l=l||120,e(this).bind("DOMMouseScroll mousewheel",function(t){var i=t.originalEvent,n=i.detail?i.detail*-l:i.wheelDelta,o=e(this).scrollLeft();o+=n>0?-l:l,e(this).scrollLeft(o),t.preventDefault()})}});
Tutaj to JSFiddle
Pokaż nam co próbowali –