var thumbw = $('.video-thumbs li').width();
var feedw = $('.video-thumbs').width();
var thumbx = Math.floor(feedw/thumbw);
$('.scroll-right').on('click', function () {
$(this).parent().each(function () {
var scrollx = $(this).scrollLeft();
var thumbcount = Math.floor(scrollx/thumbw);
var nextscroll = thumbcount + thumbx;
var nextthumb = 'li:nth-child(' + nextscroll + ')';
var childx = $(this).find(nextthumb).offset().left;
$(this).animate({ scrollLeft: childx - 40 }, 500, 'linear');
});
});
我正在制作一个侧面滚动缩略图列表。缩略图的输入是" .scroll-right"的缩写。按钮。当您点击" .scroll-right" Feed应将滚动值设置为下一组中第一个缩略图左边缘的位置。我的问题是它适用于第一个,但之后childx变量不会更新。我有什么想法可以让它发挥作用吗?
答案 0 :(得分:0)
好的,我明白了。
var childx = $(this).find(nextthumb).offset().left;
我正在使用' .offset()。left'而不是' .position()。left'所以childx变量是相对于文档而不是其父元素的缩略图位置。所以我把它改成了:
var childx = $(this).find(nextthumb).position().left;
它有效!