Jquery 如何正确地将FancyBox2应用于页面的图像

Jquery 如何正确地将FancyBox2应用于页面的图像,jquery,fancybox,Jquery,Fancybox,我试图使用Fancybox2处理一组20幅图像,但图像打开时没有任何效果。 以下是完整的代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Flickr Feed</title> <link href="../_css/site.css" rel="stylesheet"> <link rel="st

我试图使用Fancybox2处理一组20幅图像,但图像打开时没有任何效果。 以下是完整的代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Flickr Feed</title>
    <link href="../_css/site.css" rel="stylesheet">
    <link rel="stylesheet" href="../fancybox2/source/jquery.fancybox.css" type="text/css" media="screen" />

    <style>
        .image {
            float: left;
            padding: 10px;
            border: solid 1px white;
            margin: 0 30px 30px 0;
        }
        .image:hover {
            border-color: red;
            background-color: rgb(204,204,204);
        }


    </style>

    <script src="../_js/jquery-1.7.1.min.js"></script>

    <!-- Add fancyBox -->

    <script type="text/javascript" src="../fancybox2/source/jquery.fancybox.pack.js"></script>

    <script>
        $(document).ready(function() {
            var URL = "http://api.flickr.com/services/feeds/groups_pool.gne";
            var ID = "35034346867@N01";
            var jsonFormat = "&format=json&jsoncallback=?";

            var ajaxURL = URL + "?id=" + ID + jsonFormat;
            $.getJSON(ajaxURL,function(data)
                    {
                        $('h1').text(data.title);
                        $.each(data.items,function(i, photo)

                                {
                                    var photoHTML = '<span class="image">';
                                    photoHTML += '<a class="fancybox" rel="gallery1" href="' + photo.media.m.replace('_m', '_b') + '">';
                                    photoHTML += '<img src="' + photo.media.m.replace('_m', '_s') + '"></a>';


                                    $('#photos').append(photoHTML);

                                }


                        );//end each

                        $('#photos').fancybox(
                                {
                                    openEffect:'none',
                                    closeEffect:'none'
                                }
                        );
                    }

            );//end get JSON


        }); // end ready
    </script>

</head>
<body>
<div class="wrapper">
    <div class="header">
        <p class="logo">JavaScript <i>&</i> jQuery <i class="mm">The<br>Missing<br>Manual</i></p>
    </div>
    <div class="content">
        <div class="main">
            <h1>Flickr Images</h1>
        <div id="photos"></div>
        <br class="clearLeft">
        </div>
    </div>
    <div class="footer">
        <p>JavaScript &amp; jQuery: The Missing Manual, by <a href="http://sawmac.com/">David McFarland</a>. Published by <a href="http://oreilly.com/">O'Reilly Media, Inc</a>.</p>
    </div>
</div>
</body>
</html>

Flickr馈送
.形象{
浮动:左;
填充:10px;
边框:纯色1px白色;
利润率:0 30px 30px 0;
}
.图片:悬停{
边框颜色:红色;
背景色:rgb(204204);
}
$(文档).ready(函数(){
变量URL=”http://api.flickr.com/services/feeds/groups_pool.gne";
变量ID=”35034346867@N01";
var jsonFormat=“&format=json&jsoncallback=?”;
var ajaxURL=URL+“?id=“+id+jsonFormat;
$.getJSON(ajaxURL,函数(数据)
{
$('h1').text(data.title);
$.each(数据项、功能(i、照片)
{
var photoHTML='';
photoHTML+='';
$(“#照片”).append(photoHTML);
}
)//结束每一个
$(“#照片”).fancybox(
{
openEffect:“无”,
closeEffect:“无”
}
);
}
);//结束获取JSON
}); // 准备就绪

JavaScript&查询缺少的
手册

Flickr图像
JavaScript&;jQuery:缺少的手册。出版人


我从FancyBox2脚本中收到错误消息“无法加载请求的内容。请稍后重试”。

fancybox
初始化代码移到
getJSON
Methodos回调中,因为这是添加所有图像的地方。而
fancybox
插件的选择器是错误的,我认为应该是
#photos
。试试这个

       $.getJSON(ajaxURL,function(data)
                {
                    $('h1').text(data.title);
                    $.each(data.items,function(i, photo)

                            {
                                var photoHTML = '<span class="image">';
                                photoHTML += '<a class="fancybox" rel="gallery1" href="' + photo.media.m.replace('_m', '_b') + '">';
                                photoHTML += '<img src="' + photo.media.m.replace('_m', '_s') + '"></a>';


                                $('#photos').append(photoHTML);

                            }


                    );//end each
                    $('#photos').fancybox(
                       {
                           openEffect:'none',
                           closeEffect:'none'
                        }
                    );
                }

        );//end get JSON
$.getJSON(ajaxURL,函数(数据)
{
$('h1').text(data.title);
$.each(数据项、功能(i、照片)
{
var photoHTML='';
photoHTML+='';
$(“#照片”).append(photoHTML);
}
)//结束每一个
$(“#照片”).fancybox(
{
openEffect:“无”,
closeEffect:“无”
}
);
}
);//结束获取JSON

“不起作用”不是对问题的描述,而这个问题——作为一个封装实体——没有数据。主题已编辑。感谢您指出这一点。稍微好一点。“我不能”离实用性还有很长的距离。我们希望问题中有代码。所以,问题不仅仅是针对你的——而是针对每个可能有同样问题的人。当链接断开时,这个问题将不再对任何人有任何帮助。我在发布包含html的代码时遇到了问题。发布此类代码的最佳方式是什么?再次感谢。为什么不按邮箱旁边的“?”按钮呢?获取格式化帮助?很多人花了很多时间制定了一个常见问题列表,解释了如何在这个代码相关的网站上发布代码。在寻求帮助之前,我总是在Javascript控制台中检查错误。但是chrome Javascript控制台不会产生任何错误。在ajax调用后,你能检查
#照片
?你看到它里面有合适的标记吗?我修复了我的目录错误,但现在我得到的不是大图“无法加载请求的内容。请稍后重试”,这是另一个服务器端问题,你应该调试并找到答案。好的,我找到了解决方案!我刚把(“#photos”).fancybox改为(“#photos.fancybox”).fancybox