jCarouselLite没有在div上设置宽度和左值

时间:2010-02-16 22:25:00

标签: jquery jquery-ui

jCarouselLite没有在div上设置宽度和左值。此外,在萤火虫中,div和ul是灰色的,尽管div有:

visibility: visible;

毫无疑问,ul和后续li的width和height属性设置为0. jCarouselLite不应该设置那些吗?

图像正在DOM中加载 - 但不显示。

4 个答案:

答案 0 :(得分:3)

这是由将<div>设置为display:none的CSS规则引起的。

删除后,插件会正确计算出值。

答案 1 :(得分:1)

但是当您的页面中的元素需要在开始时隐藏时该怎么办?

我使用以下技巧来启动包含元素的页面,以便插件能够计算其位置但是在屏幕外部,以便使用者看不到它。

<script type="text/javascript"> 
    $('#myElement').animate({left: '-=5000px'}, 0);
</script>

该技巧还解决了jquery谷歌地图插件的绘图问题。

也许我的问题在于我没有在正确的时间或地点调用我的代码......无论如何,多亏了这个好老把戏,它终于有效了。

答案 2 :(得分:1)

我最初将容器元素设置为“display:none”,并使用jQuery的slideToggle函数来显示隐藏元素。在slideToggle函数调用中我只是调用了jCarouselLite。这就是我打电话的方式,它运作正常:

$("#Gallery").slideToggle("slow", function () {
    if (!carouselLoaded) {
        $(".carousel").jCarouselLite({
            btnNext: ".next",
            btnPrev: ".prev",
            circular: true,
            visible: 1
        });
        carouselLoaded = true;
    }
});

一旦容器被重新隐藏并重新显示,布尔标志用于阻止jCarouselLite再次加载。

答案 3 :(得分:1)

在jquery.jcarousellite.js文件中,修改
div.css(sizeCss, divSize+"px");div.css(sizeCss, "100%");
或您想要硬设置的任何像素。
此外,您可以通过配置visible: 5设置要显示的数字项目。例如:

        <script type="text/javascript">
            $(function() {
                $(".auto .carousel").jCarouselLite({
                    auto: 1000,
                    speed: 4000,
                    visible: 5

                });
            });
        </script>