手风琴+缓动滚动jquery

时间:2014-06-27 20:56:51

标签: jquery wordpress accordion

控制台错误:

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();

在控制台中没问题,但手风琴和滚动功能不起作用。

这是冲突吗?

1 个答案:

答案 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提供的那个,但如果你需要更旧的那个,我会删除更新的电话。