【问题标题】:issue with carousel image gallery轮播图片库的问题
【发布时间】:2013-05-13 22:35:27
【问题描述】:

我正在制作一个简单的轮播图片库。目前我有两张图片,我希望画廊在最后一张之后循环回第一张图片,我不知道如何让这个功能正常工作,而且我的上一个和下一个按钮由于某种原因停止工作。我缺乏 jq/js 技能,如果能帮助我完成这项工作,我将不胜感激。这是我的代码 [1] 的 jsfiddle:http://jsfiddle.net/jsavage/kGAxa/39/

$(document).ready(function () {
    if (jQuery("#gallery").length) {
        // declare variables
        var totalImages = jQuery("#gallery > li").length,
            imageWidth = jQuery("#gallery > li:first").outerWidth(true),
            totalWidth = imageWidth * totalImages,
            visibleImages = Math.round(jQuery("#gallery-wrapper").width() / imageWidth),
            visibleWidth = visibleImages * imageWidth,
            stopPosition = (visibleWidth - totalWidth);

        jQuery("#gallery").width(totalWidth);

        jQuery("#gallery-prev").click(function () {
            if (jQuery("#gallery").position().left < 0 && !jQuery("#gallery").is(":animated")) {
                jQuery("#gallery").animate({
                    left: "+=" + imageWidth + "px"
                });
            }
            return false;
        });

        jQuery("#gallery-next").click(function () {
            if (jQuery("#gallery").position().left > stopPosition && !jQuery("#gallery").is(":animated")) {
                jQuery("#gallery").animate({
                    left: "-=" + imageWidth + "px"
                });
            }
            return false;
        });
    }

});

【问题讨论】:

    标签: javascript jquery carousel image-gallery


    【解决方案1】:

    测试了你的小提琴,javascript运行良好,只有css缺少以下属性:

    #gallery-wrapper {
        position:relative;
    }
    
    #gallery {
        position:absolute;
    }
    

    而且代码也需要在里面执行

    $(window).load();
    

    而不是$(document).ready(); 事件处理程序才能正常工作。

    http://jsfiddle.net/kGAxa/42/

    【讨论】:

    • 感谢Stano的回复和帮助!我想知道如何让画廊返回第一张幻灯片或在第二张幻灯片之后循环回到第一张幻灯片。我想基本上使它成为一个连续的幻灯片画廊?感谢您提供的任何帮助!
    • Stano 非常感谢!感谢您的响应和帮助。它在 FF 中运行良好,但在 chrome 中,当我在第二张幻灯片上并单击下一个箭头时,它不会像在 ff 中那样将我发送回第一个图像。不知道为什么它在 ff 中有效而在 chrome 中不一样?有任何想法吗?我真的很感谢斯塔诺的帮助!谢谢
    • 再次感谢您的帮助。真的很感激!
    • 谢谢乔,如果可能的话,也可以试试看carousel plugin,应该修复了许多可能的兼容性错误。谢谢你,也祝你玩得愉快!
    猜你喜欢
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    • 2013-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多