我遇到this great stack您可以在其中建立垂直传送带。我实现了自己的代码版本,使所有内容都水平滑动。水平传送带正在缩小差距
它工作的很好,但为了它的工作,你必须知道水平画廊将会有多少图片,以便我们可以调整代码。否则,图像会低于另一个。我有谁知道如何使代码适应画廊的实际宽度?
window.clients = function($elem) {
var left = parseInt($elem.css("left"));
var $cp = $("#clients .client");
var temp = -1 * $cp.width();
var guarda = [];
$cp.each(function() {
quantos.push($(this).width());
});
var quantos = guarda.length();
if(left < temp) {
left = $("#clients").width();
$elem.css("left", left);
}
$elem.animate({ left: (parseInt(left)-230) }, 1000, "linear", function() {
window.clients($(this));
});
};
$(function() {
$(document).ready(function() {
var i = 0;
$("#clients .client").each(function() {
$(this).css("left", i);
i += 230;
window.clients($(this));
});
});
$(".client").hover(function() {
$(this).children("h3").stop().fadeIn("fast");
}, function() {
$(this).children("h3").stop().fadeOut("fast");
});
});
非常感谢,Ajay!我设法使它几乎工作。我得到的唯一问题是,在第一次迭代之后,第一个和最后一个框之间存在差距(框的大小)。这里是小提琴:http://jsfiddle.net/GuiHarrison/o8m219v5/ – Digger 2014-10-02 16:01:44
此外,这段代码沉重的内存?我有一个印象,那就是看每一个盒子太苛刻。有没有办法让它平滑? – Digger 2014-10-02 16:03:31