我正在尝试制作一个滑动项目列表来模仿 netflix。查看他们的源代码,我已经弄清楚了 html 标记,并且我想我已经大致了解了它的概念。我只需要能够在悬停期间跟踪 css 正确位置,并在悬停发生时而不是在悬停停止后通过另一个功能用它做其他事情。
编辑:有关我要实现的概念的更多详细信息。在“set”滑动时,我需要做两件事。
当一个“项目”滑出屏幕时,它需要从集合中移除,然后重新插入集合的另一端,所以我需要一种方法来知道它何时在任一方向离开屏幕。
我需要知道该装置何时在任一方向上滑动它的全长,以便我可以重置它的位置。
我能想到的实现这种无限滚动集合的幻觉的唯一方法是在集合滑动时跟踪 css 位置。我可以处理我认为的其余部分,但只需要知道如何插入 .hover() 或其他方式来跟踪它而不中断 .hover()。
如果 .hover 不合适,我愿意接受其他方法的建议。
这是我的代码
HTML:
<div id="slider">
<div class="set">
<div class="item">
<img src="img/book.png">
</div>
<div class="item">
<img src="img/book.png">
</div>
<div class="item">
<img src="img/book.png">
</div>
<div class="item">
<img src="img/book.png">
</div>
<div class="item">
<img src="img/book.png">
</div>
<div class="item">
<img src="img/book.png">
</div>
<div class="item">
<img src="img/book.png">
</div>
<div class="item">
<img src="img/book.png">
</div>
<div class="item">
<img src="img/book.png">
</div>
<div class="item">
<img src="img/book.png">
</div>
<div class="item">
<img src="img/book.png">
</div>
</div><!--end set-->
<div class="prevBtn"></div>
<div class="nextBtn"></div>
</div><!--end slider-->
滑块.js:
(function() {
var Slider = {
init: function() {
var set = $('#slider .set'),
setLength = set.children().length * 190,
prev = $('.prevBtn'),
next = $('.nextBtn');
self = this;
prev.hover(function() {
set
.css({right: set.position().right})
.animate({right: '-' + setLength + 'px'}, 8000);
}, function() {
set.stop();
});
next.hover(function() {
set
.css({left: set.position().right})
.animate({right: setLength + 'px'}, 8000);
}, function() {
set.stop();
});
}
}
Slider.init();
}());
谢谢