2016-10-04 79 views
0

我正在使用cratejoy网站,我的客户需要一种模式才能在设定的时间后弹出。我加入了模态,当我用这个正常工作:延迟加载后加载Bootstrap模式不起作用

$('#myModal').modal('show'); 

但是当我尝试使用这两种答案来自this page,它获得了遗漏的类型错误:$(...)模式是不功能错误,模式不会弹出。你可以看到它不起作用here

+0

你是否也有引导。 js文件放在你的'html'上。此外,您需要将此脚本放在页面末尾,并将其包装在一个$(document).ready(function(){}) – Franco

+0

中,然后将其包装在它中,但仍然无法使用。而且,如果我不使用setTimeout(),无论是否包含它,模式都会显示出来。 –

回答

1

你的jQuery的多个版本加载

除了与它自己的脚本标记您的main.js文件还包括其显而易见的版本。

由于它在bootstrap.js之后加载,它将覆盖整个jQuery对象并删除对原始版本的引导。这就是为什么你会得到显示的错误

选择你想要使用哪个版本的jQuery并删除其他。

使所选的选项

+0

我不知道cratejoy为什么这么做 - 我无法删除任何这些jQuery链接,也不会抛出更多错误。看起来我不会这样做。 –

+0

规则很简单... jquery必须在引导之前加载插件,并且任何使用jquery的代码都必须在该集合之后加载 – charlietfl

1

首先你需要有链接到你的页面bootstrap.js和jQuery后加载后肯定boostrap.js负荷。

其次你必须把在脚本代码的脚本结束body标签

$(document).ready(function(){ 
    $('#myModal').modal('show'); 
}); 

之前为了耽误你可以做到这一点的模式:

setTimeout(function(){ 
    $('#myModal').modal('show'); 
}, 5000) 
+0

setTimeout中的排字错误 – charlietfl

+0

@charlietfl Woops。感谢:) – Franco

+0

即使我尝试setTimeout也没有工作 –