我正在使用由外部开发人员开发的网站。我注意到他们用于 Accordion 的代码仅支持每页固定数量的 Accordion 项目(即使他们的 CMS 可以创建无限数量的标记为显示 Accordion 样式的项目)。我正在努力整理这个问题,以避免以后让我的同事感到困惑。
我正在尝试添加标准 Mootools more Accordion ,但是当我将其添加到页面时,出现以下错误:
Uncaught TypeError: Property 'container' of object # is not a function mootools-core-1.4.5-full-compat.js:683
Here's an example page - “ session 详细信息”下方标签中的链接 - 单击下面的标题以获取有关每个 session 的更多信息。都应该是 Accordion 。
我在页面底部从 http://www.aua.ac.uk/scripts/accordion.js 调用此代码:
window.addEvent('domready', function(){
new Fx.Accordion($$('#sub_left .accordion_heading'),$$('#sub_left .accordion_holder'), {
opacity: 0,
display: -1,
alwaysHide: true
});
});
使用这些版本的 Mootools(在页面顶部的头部引用):
mootools-core-1.4.5-full-compat.js和 mootools-more-1.4.0.1.js
这是一个使用这些版本的 mootools 的 fiddle ,我的页面中的 HTML 的一部分,以及相同的 Accordion 代码 - 并且一切都正常。我认为我的整个页面上的某个地方存在冲突,但我不知道在哪里。
除了一一删除 JS 文件的代码/链接之外,有谁知道如何解决这个问题,或者从哪里开始调试它?
最佳答案
微软的js与mootools数组实现一些冲突:
<script src="/WebResource.axd?d=maKRZUGfDX1oNLvbjE5CVpp8Freqy1QYQvNjdATWoN2tEAP8BRYB9DDy6RYI9PQwhPak11VYG6N-fakPxQX9OdjCS0k1&t=634604425351482412" type="text/javascript"></script>
<script src="/ScriptResource.axd?d=WSd7pLxkPBvO2m8zwahAn--zWk9drBpRcPo6hiP5S6h3lc4U02xAjGNhWI80hxb4tjqMmAYSYPB7ziM6k7g74E-bBOiz7xRre8hSbGF4tJ2E6c8VeX-W4J-tQv1ZL10ruL5uPffOFyiUX3xZVWWQT_YClyI1&t=ffffffffb868b5f4" type="text/javascript"></script>
<script src="/ScriptResource.axd?d=bawOzJp1LF5Sj6rS_r-W75i2ouoWmFBvTNI9zqR0q_Lsf42KbPAaMTrPFSZ9jqam3zDWOHBUgNgKBDwGos_WSLyBOzTAzYVuGRRlgWxM0Jm-uc_fb8NPaprYxmDuvgVoemZKvN0bfNIpr2yzsXUjhCVB-0dFOF6qHbKXJEXRN_LWShmr0&t=ffffffffb868b5f4" type="text/javascript"></script>
如果删除这些脚本,您将看到您的代码工作正常:
关于debugging - 添加 Accordion 时,Mootools 'Uncaught TypeError: Property ' 对象 #<Object> 的容器不是函数'错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17339413/