2015-09-14 79 views
3

我一直在整天在Bootply沙箱中工作,并在将相同的代码移动到活动服务器时遇到问题。Javascript附加不是函数

沙箱是在这里,词缀正常工作: http://www.bootply.com/wu2vXxkt5o#

在真人版我得到的错误,并拒绝加载元素(三个图像)

TypeError: $(...).affix is not a function

http://nathan97.com是活网站。

有问题的代码:

/* activate sidebar */ 
$('#sidebar').affix({ 
    offset: { 
    top: 235 
    } 
}); 
+1

你的代码中调用'affix'是'bootstrap.js' script标签上面的脚本。你试图在它存在之前调用它。与jQuery脚本相同的问题。您的代码应该始终包含在依赖关系之后。 – m59

+0

更新bootstrap.js到版本3.0和它的工作 [https://stackoverflow.com/a/44344544/1673050](https://stackoverflow.com/a/44344544/1673050) – Serip88

回答

3

第一招cover.jsaffix.js后,否则贴上功能将不会被发现。

其次,head部分中的脚本在body元素呈现之前被调用,因此$('#sidebar')将不会被找到。在$(document).ready中包装你的函数,在主体完成渲染后调用代码。

正确的顺序

<script type="jquery.js"></script> 
<script src="cover.js"></script> 
<script src="affix.js"></script> 

cover.js

$(document).ready(function() { 

    $('#sidebar').affix({ 
     offset: { 
     top: 235 
     } 
    }); 

    // ... 

}); 
+0

我提出了您建议的更正但它似乎没有工作。准备好的文档仍然使得带有一个函数的词缀不存在,我还在词缀之前加载了所有的依赖项。我的更正版本是在网站上,但仍然无法正常工作。如果你能腾出时间寻求一些帮助,那么它就会受到欢迎。谢谢 – Devanuze