Jquery 如何正确地将FancyBox2应用于页面的图像
我试图使用Fancybox2处理一组20幅图像,但图像打开时没有任何效果。 以下是完整的代码: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
<!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 & 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