<script type="text/javascript">
$(function() {
$('#wp-calendar a').click(function(event) {
event.preventDefault();
var url = $(this).attr('href') + ' #content';
var loaded = Shadowbox.load(url);
Shadowbox.open({
content: loaded,
player: "html",
title: "<?php the_title(); ?>",
height: 300,
width: 470,
});
});
});
</script>
这是我用来尝试在shadowbox中显示内容的代码,我使用默认的wordpress日历和jQuery / AJAX(如果我没有记错的话)将这个click事件添加到日历中的每个链接,所以单击链接时,内容将加载并显示在阴影框中,而不是在新页面上打开。
当我点击其中一个链接时,我进入影子箱的所有内容都是“未定义”。
我相信你可以在我的代码中看到,我对此仍然很陌生,所以任何帮助或指示都会受到赞赏。
提前Thanx!
答案 0 :(得分:1)
首先,使用alert()函数调试代码 像这样:
<script type="text/javascript">
$(function() {
$('#wp-calendar a').click(function(event) {
event.preventDefault();
var url = $(this).attr('href') + ' #content';
alert(url);
});
});
</script>
我认为它会生成无效的网址,因为它会在末尾添加一个不必要的空格字符
(... + ' #content'
)
除非最终网址中的所有文件都以空格结尾,否则这真的搞得一团糟。
删除#
之前的空格。
var url = $(this).attr('href') + '#content';
如果之后不起作用,还有其他问题。
答案 1 :(得分:0)
我注意到的第一件事是您的网址不应包含任何空格。这可能就是为什么当Shadowbox进行AJAX调用时无法找到内容。我对Shadowbox并不熟悉,但你可以使用Firebug控制台轻松测试它。尝试输入这样的内容,看看你是否正在加载正确的内容:
$.get(url, function(data) { console.log(data); });