【发布时间】:2015-06-06 00:58:47
【问题描述】:
我正在尝试在画廊的缩略图之间创建滚动功能。到目前为止,缩略图正在滚动,但有一个小问题。如果滚动到达最后一个缩略图,它会继续向右滚动(如果您向右滚动),左侧部分也会发生同样的情况。
第二个问题是,如果只有一个缩略图只有一个li,它仍然滚动。
jQuery:
var min = left = $('.thumbs ul').offset().left;
var max = $('.thumbs li').length * 160 + min;
$('.right').click(function () {
var width = $('.thumbs').width();
if (left > width - max) {
left -= width;
if (left < width - max) left = width - max;
$('.thumbs ul').stop().animate({ 'left': left }, 1000);
}
});
$('.left').click(function () {
var width = $('.thumbs').width();
if (left < min) {
left += width;
if (left > min) left = min;
$('.thumbs ul').stop().animate({ 'left': left }, 1000);
}
});
HTML:
<a class="arrow left">←</a>
<div class="thumbs">
<ul>
<li><a href="#"><img src="http://placehold.it/100x100" /></a></li>
<li><a href="#"><img src="http://placehold.it/100x100" /></a></li>
<li><a href="#"><img src="http://placehold.it/100x100" /></a></li>
<li><a href="#"><img src="http://placehold.it/100x100" /></a></li>
<li><a href="#"><img src="http://placehold.it/100x100" /></a></li>
<li><a href="#"><img src="http://placehold.it/100x100" /></a></li>
<li><a href="#"><img src="http://placehold.it/100x100" /></a></li>
<li><a href="#"><img src="http://placehold.it/100x100" /></a></li>
</ul>
</div> <a class="arrow right">→</a>
这是JSFiddle
解决方案:
从两侧(左侧和右侧)滚动到最后一个缩略图时应停止。如果没有足够的缩略图滚动,那么它应该保持静止。
请帮忙,谢谢:)
【问题讨论】: