Yar*_*ius 6 ajax jquery colorbox
我已经连续三天都在寻找答案了.问题是我有一个页面,链接上应该加载Colorbox的AJAX内容,而这些内容又包含应该在同一个Colorbox模式窗口中加载的链接.到目前为止,我设法使其(部分)工作:
<script type="text/javascript">
$(document).ready(function(){
$("a[rel='open_ajax']").live('click', function() {
$.colorbox({
href:$(this).attr('href')
});
return false;
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
如果我点击一个链接,它会加载一个Colorbox窗口,但是在这个窗口中,如果我点击它的链接,它会打开另一个Colorbox窗口.我希望将内容加载到当前内容中.会不会有任何想法.感谢名单!
主窗口中的PS链接:
<a title="Client Details" rel="open_ajax" href="http://localhost/client/details/123">Client Details...</a>
Run Code Online (Sandbox Code Playgroud)
Colorbox中的链接都是相同的(它只是分页):
<a rel="open_ajax" href="http://localhost/client/details/123/1">1</a>
<a rel="open_ajax" href="http://localhost/client/details/123/2">2</a>
<a rel="open_ajax" href="http://localhost/client/details/123/3">3</a>
<a rel="open_ajax" href="http://localhost/client/details/123/4">4</a>
<a rel="open_ajax" href="http://localhost/client/details/123/5">5</a>
Run Code Online (Sandbox Code Playgroud)
Rya*_*P13 16
如果您需要将内容加载到相同的Colorbox而不是打开一个新实例,我首先要确保打开Colorbox的事件处理程序上下文是独占的,而不是挂钩到Colorbox中的'open_ajax'元素.
像这样的东西:
<script type="text/javascript">
$(document).ready(function(){
$("a[rel='open_ajax']:not(#colorbox a[rel='open_ajax'])").live('click', function() {
$.colorbox({
href:$(this).attr('href')
});
return false;
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
如果上述方法不起作用,请尝试使选择器更具体/唯一.
然后AJAX中的新内容直接进入你已经打开过的Colorbox.
像这样的东西:
$('#cboxLoadedContent a[rel="open_ajax"]').live('click', function(e){
// prevent default behaviour
e.preventDefault();
var url = $(this).attr('href');
$.ajax({
type: 'GET',
url: url,
dataType: 'html',
cache: true,
beforeSend: function() {
$('#cboxLoadedContent').empty();
$('#cboxLoadingGraphic').show();
},
complete: function() {
$('#cboxLoadingGraphic').hide();
},
success: function(data) {
$('#cboxLoadedContent').append(data);
}
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26021 次 |
| 最近记录: |