使用jquery1.6.1覆盖弹出框..?

时间:2012-03-28 04:55:04

标签: javascript jquery jquery-ui

我使用modal使用jquery1.4.1创建了一个覆盖弹出框的脚本,它返回了我的页面中的一些函数,这些函数在jquery1.6.1中使用了。

所以,当我添加jQuery 1.4.1脚本来显示弹出框时......通过jQuery 1.6.1工作的函数被中断..

如何使用jQuery 1.6.1获取弹出框?

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://simplemodal.googlecode.com/files/jquery.simplemodal.1.4.min.js"></script>
<script type="text/javascript">
function modalTest() {
    showModal();
    setTimeout(function() {
        hideModal();
    },2000000);
}

function showModal() {
    $("#downloadbox").modal();
}

function hideModal() {
    $.modal.close();
}

</script>

3 个答案:

答案 0 :(得分:0)

您的问题可能是

1)在1.6.1

中已弃用jquery 1.4.1中的某些函数

一个解决方案是,请将插件升级到更新版本,它可以解决您的问题

否则你需要编辑插件以适应新功能,风险

答案 1 :(得分:0)

jQuery最新版是1.7.1。你确定你的页面正在加载1.6.1吗?然而,这不是重点:这里可能发生的事情是你的脚本在文档准备好之前就开始了。不知道为什么它适用于1.4.1,因为那是很久以前(正如公爵提到的,已弃用的函数?),但你应该把它包装在一个文档就绪函数中,看它是否有效:

$(document).ready( function() {

// your existing code

});

答案 2 :(得分:0)

1.4+版本的代码看起来很好,所以我认为你没有弃用问题。

正如格雷格所说,你没有调用文件就绪方法。你还没有调用modalTest()函数,所以simplemodal $('')。modal方法不会触发。

 $(document).ready(function(){

   function modalTest() {
     showModal();
     setTimeout(function() {
       hideModal();
     },2000000);
   }

   function showModal() {
     $("#downloadbox").modal({ /* Pass simplemodal config here*/ });
   }

   function hideModal() {
     $.modal.close();
   }   

   modalTest();
 });