控制台错误:
TypeError: $(...).accordion is not a function
在worpdress中的文件calljq.js
中的Jquery(二十世纪子主题):
$(function() {
$('#st-accordion').accordion();
});
我想在此页面中使用手风琴+缓动滚动:
http://www.lab-360.it/test-acs/?attachment_id=67
点击“评论”,jquery显示评论滚动到页面顶部。
这是来源:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js?ver=3.9.1" type="text/javascript" style=""></script>
<script src="http://www.lab-360.it/test-acs/wp-content/themes/twentytwelve/js2/jquery.accordion.js?ver=3.9.1" type="text/javascript"></script>
<script src="http://www.lab-360.it/test-acs/wp-content/themes/twentytwelve/js2/jquery.easing.1.3.js?ver=3.9.1" type="text/javascript"></script>
<script src="http://www.lab-360.it/test-acs/wp-content/themes/twentytwelve/js2/calljq.js?ver=3.9.1" type="text/javascript"></script>
我试过这样的方式:
$('#st-accordion').accordion();
在控制台中没问题,但手风琴和滚动功能不起作用。
这是冲突吗?
答案 0 :(得分:0)
我认为问题的根源在于您没有将文档就绪函数包含在内,如下所示......
jQuery(document).ready(function($) {
$('#st-accordion').accordion();
});
它确保JS在页面加载之前不会触发,因此所有html和其他js对象都可用。它也符合WP告诉你做的事情b / c他们使用jQuery无冲突。关于这方面的更多细节大约是下一页的一半。 http://codex.wordpress.org/Function_Reference/wp_enqueue_script
此外,这可能并不重要,但看起来你在页面上包含了2个不同版本的jQuery。 1.6.3和1.11。我通常建议只使用WordPress提供的那个,但如果你需要更旧的那个,我会删除更新的电话。