星际之光 2016-08-25 10:06 采纳率: 0%
浏览 3845

jQuery扩展可能冲突了 你这个坏人还我的方法 /(ㄒoㄒ)/~~!

【发现CSDN大坑比,竟然评论出错~ 俺的QQ:980581089 邮箱也是这个 你懂得~ 唉 心累】
项目中有需要图片浏览的一个需求,然后在网上找到一个很棒的工具 叫做viewer.js
GitHub地址 很容易就集成到项目中了,但是突然发现网页中左侧的菜单不能折叠了。。。
到项目中看了下,发现菜单控制用的是两个js文件,一个叫做sb-admin-2.js
代码如下:

 $(function() {

    $('#side-menu').metisMenu();

});

//Loads the correct sidebar on window load,
//collapses the sidebar on window resize.
// Sets the min-height of #page-wrapper to window size
$(function() {
    $(window).bind("load resize", function() {
        topOffset = 50;
        width = (this.window.innerWidth > 0) ? this.window.innerWidth : this.screen.width;
        if (width < 768) {
            $('div.navbar-collapse').addClass('collapse');
            topOffset = 100; // 2-row-menu
        } else {
            $('div.navbar-collapse').removeClass('collapse');
        }

        height = ((this.window.innerHeight > 0) ? this.window.innerHeight : this.screen.height) - 1;
        height = height - topOffset;
        if (height < 1) height = 1;
        if (height > topOffset) {
            $("#page-wrapper").css("min-height", (height) + "px");
        }
    });

    var url = window.location;
    var element = $('ul.nav a').filter(function() {
        return this.href == url || url.href.indexOf(this.href) == 0;
    }).addClass('active').parent().parent().addClass('in').parent();
    if (element.is('li')) {
        element.addClass('active');
    }
});

一个叫做metisMenu.jsGitHub地址

然后谷歌浏览器调试js 提示_ sb-admin-2.js:3 Uncaught TypeError: $(...).metisMenu is not a function_
说metisMenu不是个方法,然而在metisMenu中有这么一个方法:

 var pluginName = "metisMenu";
    $.fn[pluginName] = function(options) {
        this.each(function () {
            var el = $(this);
            if (el.data(pluginName)) {
                el.data(pluginName).remove();
            }
            el.data(pluginName, new Plugin(this, options));
        });
        return this;
    };

不懂什么意思,就查了下语法 说是添加一个jQuery 对象的扩展方法。显然之前是没问题的,加了viewer.js这个文件后这个扩展给搞没了或者是什么的。
是不是viewer.js中有某些东西把外部js文件中对jQuery的扩展给取消了? 对js不太熟悉,跪求路过的各位仙家指点迷津,不胜感激!

  • 写回答

2条回答 默认 最新

  • Go 旅城通票 2016-08-26 01:31
    关注

    自己去看viewer.js有什么东西,是不是重新导入jquery了导致扩展被覆盖掉了

    评论

报告相同问题?

悬赏问题

  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 spring后端vue前端
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题