【发布时间】:2011-01-12 14:54:52
【问题描述】:
我想使用 AJAX 和 Shadowbox 加载一些内容
基本上我希望用户转到一个页面以防 javascript 关闭。所以这就是我想做的:-
1) 取消点击事件,即用户不得转到其他页面。
2) 在jQuery中使用ajax函数加载内容
3) 在阴影框中显示内容
我的代码工作正常,直到使用 ajax 加载内容,但不显示影子框,我猜 URL 正在刷新,一切都变为空白。
jQuery(document).ready(function($){
// rounded corners
$('img').addClass('corner iradius16');
DD_roundies.addRule('#nav li a',4,true);
DD_roundies.addRule('.grid',6,true);
$('h2 a').bind('click', function() {
var id = $(this).attr('id');
$.ajax({
url: "/ajax-post.php?p="+id,
success: function(data){
Shadowbox.open({
content: data,
player: "html",
height: 350,
width: 350
});
}
});
return false;
});
更新 1
尝试了这段代码,一旦加载了shadowbox,文档就会重新加载并变白。
Shadowbox.init({
skipSetup: true,
players: ["html"]
});
// LOAD
jQuery(document).ready(function($){
// rounded corners
$('img').addClass('corner iradius16');
DD_roundies.addRule('#nav li a',4,true);
DD_roundies.addRule('.grid',6,true);
$('.post h2 a').bind('click', function() {
var id = $(this).attr('id');
$.ajax({
url: "<?php bloginfo( 'template_directory'); ?>/ajax-post.php?p="+id,
success: function(data){
show_box(data);
}
});
return false;
});
});
//阴影框 功能显示框(html){ 影盒.open({ 内容:html, 播放器:“html”, 身高:350, 宽度:350 }); }
更新 2
好的,问题得到了解决,我通过 ajax 获取的 html 中有一些 javascript,这就是页面重新加载的原因。
为什么会这样?有什么想法吗?
【问题讨论】:
-
它会抛出任何 javascript 错误吗?
-
检查萤火虫,恐怕没有错误
标签: javascript jquery ajax shadowbox