Javascript Fancybox内置Ajax内容
我使用ajax在我的网站上显示内容。当点击菜单时,它会打开内容分区内的内容。这是我的ajax代码Javascript Fancybox内置Ajax内容,javascript,jquery,ajax,fancybox,Javascript,Jquery,Ajax,Fancybox,我使用ajax在我的网站上显示内容。当点击菜单时,它会打开内容分区内的内容。这是我的ajax代码 $(document).ready(function() { $('.menu li a').click(function(){ var toLoad = $(this).attr('href')+' #content'; $('#content').animate({"width": "0px"},'normal',loadContent);
$(document).ready(function() {
$('.menu li a').click(function(){
var toLoad = $(this).attr('href')+' #content';
$('#content').animate({"width": "0px"},'normal',loadContent);
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
function loadContent() {
$('#content').load(toLoad,'',showNewContent());
}
function showNewContent() {
$('#content').animate({"width": "0px"},'fast');
$('#content').animate({"width": "664px"},'fast');
}
return false;
});
});
我想使用Fancybox灯箱效果(http://fancybox.net)在我的ajax内容中。下面是Fancybox通常需要的代码
<script type="text/javascript" src="js/fancybox-1.3.4.pack.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("a#example4").fancybox({
'opacity' : true,
'overlayShow' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
});
});
</script>
$(文档).ready(函数(){
$(“示例4”).fancybox({
“不透明”:正确,
“叠加显示”:错误,
“transitionIn”:“弹性”,
“transitionOut”:“弹性”,
});
});
我怎样才能让它工作?Ajax调用?首先,这一行是错误的
$('#content').load(toLoad,'',showNewContent());
它的意思是调用showNewContent()
,并将返回的内容分配给该事件
应该是
$('#content').load(toLoad,'',showNewContent);
现在它说为这个函数分配一个引用,并在需要时运行它
现在要回答您的问题,您需要调用
$(#示例4”).fancybox({…})代码>加载内容后,这意味着您将把它放入函数showNewContent
中load
回调处理程序应该是一个函数指针showNewContent()
将立即调用该函数。试试这个
$(document).ready(function() {
$('.menu li a').click(function(){
var toLoad = $(this).attr('href')+' #content';
$('#content').animate({"width": "0px"},'normal',loadContent);
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
function loadContent() {
$('#content').load(toLoad,'',showNewContent);
}
function showNewContent() {
$("#example4").fancybox({
'opacity' : true,
'overlayShow' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
});
}
return false;
});
});
谢谢,这似乎很接近。Fancybox脚本似乎正在工作,但它无法加载图像。它总是给我错误消息“无法加载请求的内容”。这句话应该给人更大的印象: