我正在尝试制作一个图像缩略图的“行”,其中它在鼠标移动时滚动。 我已经让它工作了,但现在我的问题是我想在两侧做一个“填充”,这样我就不必一直把鼠标移到边缘才能看到第一个/最后一个缩略图。 但我真的真的不能让它工作:/
这是我现在拥有的脚本:
这是我现在拥有的脚本:
// 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/
我希望我能清楚地表达我的问题,否则不知道该如何解释,希望有人能帮忙:)