首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$.colorbox.close();colorbox关闭问题

$.colorbox.close();colorbox关闭问题
EN

Stack Overflow用户
提问于 2013-12-05 19:49:40
回答 3查看 30.7K关注 0票数 4

我试图在单击按钮的同时关闭colorbox窗口。该窗口应该是一个ajax分页窗口。

我试过使用示例页面,内联按钮可以关闭,与我在ajax页面中编写的代码相同,但它在控制台firebug ie中抛出错误

代码语言:javascript
复制
**"TypeError: $.colorbox is undefined


(9 out of range 6)"**

我真的不知道这个错误是什么意思。

我的HTML码是.index.html

代码语言:javascript
复制
    <!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'/>
<title>Colorbox Examples</title>
<style>
body {
    font:12px/1.2 Verdana, sans-serif;
    padding:0 10px;
}
a:link, a:visited {
    text-decoration:none;
    color:#416CE5;
    border-bottom:1px solid #416CE5;
}
h2 {
    font-size:13px;
    margin:15px 0 0 0;
}
</style>
<link rel="stylesheet" href="colorbox.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="../jquery.colorbox.js"></script>
<script>
            $(document).ready(function(){

                $(".ajax").colorbox();
                $(".inline").colorbox({inline:true, width:"50%"});

                $('#test_close').click('cbox_closed',function(e){
                     $('#test_close').colorbox.close();
                }); 

            });
        </script>
</head>
<body>
<p><a class='ajax' href="http://localhost/karthiga/demo/colorbox-master/content/ajax.html" title="Homer Defined">Outside HTML (Ajax)</a></p>
<p><a class='inline' href="#inline_content">Inline HTML</a></p>
<!-- This contains the hidden content for inline calls -->
<div style='display:none'>
  <div id='inline_content' style='padding:10px; background:#fff;'>
    <p> Lorem ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem </p>
    <br/>
    <br/>
    <p><a href="javascript:void(0);" id="test_close">Close</a></p>
  </div>
</div>
</body>
</html>

ajax页面是: ajax.html

代码语言:javascript
复制
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="../jquery.colorbox.js"></script>
<script>
            $(document).ready(function(){

                $('#test_close1').click('cbox_closed',function(e){
                alert('');
                     $.colorbox.close();
                }); 
            });
        </script>
</head>
<body>
<p> Lorem ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum Lorem Ipsum Lorem ipsum Lorem Ipsum </p>
<br/>
<br/>
<p><a href="javascript:void(0);" id="test_close1">Close</a></p>
</body>
</html>

我做错了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-06 03:12:04

我在我的工作站上加载了一个完整的示例,发现了两个问题。

  1. 当Colorbox使用AJAX加载页面时,它实际上内联了生成的HTML。由于您的ajax.html文件再次加载jQuery和Colorbox小部件,因此会导致问题。因此,删除ajax.html文件中的两个<script>标记。
  2. 在index.html中,您有一个对$('#test_close').colorbox.close();的调用。将其替换为$.colorbox.close();.

这些应该可以解决你的问题。祝好运!

票数 13
EN

Stack Overflow用户

发布于 2014-09-16 20:52:01

把这个放到你的ajax.html里

代码语言:javascript
复制
<script>
    $(document).ready(function() {
        $('#test_close1').click(function(){
            parent.$.colorbox.close();
            return false;
        });
    });
</script>
票数 3
EN

Stack Overflow用户

发布于 2013-12-05 19:53:46

尝试:

代码语言:javascript
复制
$('#test_close').click('cbox_closed',function(e){
    $.fn.colorbox.close();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20399244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档