我试图做一个形象的拇指,它在滚动鼠标移动的“线”。 我得到它的工作,但现在我的问题是,我想使在侧面上“填充”,所以我不必有鼠标移出向两侧一路看到的第一个/最后一个大拇指。 但我真的真的无法得到它的工作:/
这是剧本我现在有:
// MouseMove scrolling on thumbs
var box = $('.thumbs-block'),
innerBox = $('.thumbs'),
lastElement = innerBox.find('a:last-child');
var offsetPx = 100;
var boxOffset = box.offset().left;
var boxWidth = box.width() /* - (offsetPx*2)*/;
var innerBoxWidth = (lastElement[0].offsetLeft + lastElement.outerWidth(true)) - boxOffset /* + (offsetPx*2)*/;
scrollDelayTimer = null;
box.mousemove(function (e) {
console.log('boxWidth: ' + boxWidth + ' innerBoxWidth: ' + innerBoxWidth + ' box.scrollLeft(): ' + box.scrollLeft());
var mouseX = e.pageX;
var boxMouseX = mouseX - boxOffset;
if ((boxMouseX > offsetPx) && (boxMouseX < (boxWidth - offsetPx))) {
var left = (boxMouseX * (innerBoxWidth - boxWidth) / boxWidth) /* - offsetPx*/;
clearTimeout(scrollDelayTimer);
scrollDelayTimer = setTimeout(function () {
scrollDelayTimer = null;
box.stop().animate({
"scrollLeft": left
}, {
queue: false,
duration: 500,
easing: 'linear'
});
}, 10);
}
});
有一些我已经试过把偏移(注释掉在线)的地方,它的一些得到它在一端的工作而不是其他:/
我敢肯定它在数学问题,但我想不出我应该做的:/
这里有一个的jsfiddle: http://jsfiddle.net/6CJfs/1/
我希望我做我的问题很清楚,不知道如何解释,否则它,并希望有人能帮助:)