首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Joomla 3.2破坏砌体功能

Joomla 3.2破坏砌体功能
EN

Stack Overflow用户
提问于 2014-02-12 14:59:00
回答 2查看 262关注 0票数 1

我在Joomla 3.1上建立了一个网站,我使用的是一个功能完美的砖石脚本:

代码语言:javascript
复制
    // Masonry for boxes
    function adjustments() {
        $('#position-2').masonry({
            singleMode: false,
            columnWidth: 272,
            resizeable: true,
            itemSelector: '.newsflash-item',
             isAnimated: true
        });
    }

我首先从jquery.masonry.min.js库加载JS文件masonry.desandro.com以及最新的JQuery存储库中的jquery.min.js文件。

在我将最新的更新安装到Joomla,将其从3.1升级到3.2之前,它一直运行得很好。现在,不管我如何调用它或定位JS文件,砖石函数都不能工作。我只得到这个错误:

Uncaught TypeError: Cannot call method 'masonry' of null

这时,就像树对伐木工人说的那样,我很困惑。有其他人有这个问题和/或有任何想法如何解决它吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-12 21:44:19

Joomla 3.2发行版更新了一些jQuery元素,删除了更多的MooTools依赖项,并看到了com_ajax的引入,因此您可能会遇到冲突。

更具体地说,您可能遇到了JQuery冲突,需要使用noconflict(),您可以阅读如何使用修改您的脚本,在这里使用no冲突()模式下的jQuery

像这样简单的事情可能会奏效:

代码语言:javascript
复制
// Masonry for boxes
function adjustments() {
    var $j = jQuery.noConflict();
    $j('#position-2').masonry({
        singleMode: false,
        columnWidth: 272,
        resizeable: true,
        itemSelector: '.newsflash-item',
         isAnimated: true
    });
}
票数 0
EN

Stack Overflow用户

发布于 2014-02-13 01:50:26

与cppl的回答类似,您希望基本上确保脚本使用的是JQuery,您可以这样做:

代码语言:javascript
复制
function adjustments() {
        JQuery('#position-2').masonry({
            singleMode: false,
            columnWidth: 272,
            resizeable: true,
            itemSelector: '.newsflash-item',
             isAnimated: true
        });
    }

这确保JS选择是用jQuery完成的,而不是用Mootools或任何其他JS完成的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21731451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档