我正在使用jCarouselLite jquery插件进行简单的旋转,一次显示一个image+text,并带有一个prev+next按钮。我的问题是,jCarouselLite似乎在为所有元素插入一个设置的高度。我需要的是我所有的图片都有相同的高度,但是文本的数量可以不同-目前jCarouselLite cuts of /隐藏了很多行的文本。我希望能够显示所有类型的文本,无论有多少行-有什么想法?
发布于 2011-09-25 23:32:04
我知道这是一个古老的帖子,但这就是我解决问题的方式。它适用于1.0.1版本的carousellite.js代码。
问题是容器的高度是由第一个元素设置的,而不是迭代所有项以找到最大的项。我相应地调整了代码,如下所示。
首先,向脚本添加一个名为max_height的新函数:
function max_height(el) {
// Adapted 25/09/2011 - Tony Bolton - Return height of the largest item..
var _height = 0;
$.each(el,function() {
var _compHeight = $(this).height();
if (_compHeight > _height) {
_height = _compHeight;
}
});
return parseInt(_height);
};现在,查找设置列表项高度的代码行:
li.css({ width: li.width(), height: li.height() });将其更改为以下内容:
li.css({ width: li.width(), height: max_height(li) });这应该会解决裁剪问题。顺便说一句,只有在window.load事件中初始化carousel才能起作用,否则dom不会知道容器有多高。
发布于 2013-01-16 06:02:43
我想稍微澄清一下托尼的精彩回答。不仅应该修改li.css行以使用他的新函数,而且还应该在代码中将该行上移。这是原始代码:
var liSize = o.vertical ? height(li) : width(li); // Full li size(incl margin)-Used for animation
var ulSize = liSize * itemLength; // size of full ul(total length, not just for the visible items)
var divSize = liSize * v; // size of entire div(total length for just the visible items)
li.css({width: li.width(), height: li.height()});
ul.css(sizeCss, ulSize+"px").css(animCss, -(curr*liSize));修改后的代码如下:
li.css({width: li.width(),height: max_height(li)});
var liSize = o.vertical ? height(li) : width(li); // Full li size(incl margin)-Used for animation
var ulSize = liSize * itemLength; // size of full ul(total length, not just for the visible items)
var divSize = liSize * v; // size of entire div(total length for just the visible items)
ul.css(sizeCss, ulSize+"px").css(animCss, -(curr*liSize));这可确保动画适应新的列表项高度。
发布于 2010-02-03 19:41:19
在jCarouselLite Javascript文件中,将单词“隐藏”更改为“可见”,这是为我排序的。
https://stackoverflow.com/questions/2081546
复制相似问题