简体   繁体   English

与Jquery.min.js发生功能冲突

[英]Function Conflict with Jquery.min.js

currently working on metal website so i need unit conversion tool like in this site 目前在金属网站上工作,所以我需要像本网站这样的单位转换工具

http://www.theunitconverter.com/unit-conversion-widget.html

i try add the code, but its not working. 我尝试添加代码,但无法正常工作。

and its working when i remove this 和它的工作原理,当我删除此

<script src="https://code.jquery.com/jquery-2.2.1.min.js"></script>

the problem is i need those min.js script for another jquery function. 问题是我需要那些min.js脚本用于另一个jquery函数。

and i try to add the javascript converter to another file but i couldn't place the correct noconflict function. 并且我尝试将javascript转换器添加到另一个文件,但是我无法放置正确的noconflict函数。 the js goes like this. js是这样的。

function IsNum(a) {
    if (a != null && a != "") {
        return !isNaN(a)
    }
    return false
}

function $(b) {
    if (typeof b == "string") {
        return document.getElementById(b)
    }
    return b
}

function v(g) {
    var f = $("a").value;
    var e = $("b").value;
    var j = $("c").value;
    var h = $("d").value;
    if (g == 0) {
        if (!IsNum(f)) {
            return false
        }
        $("c").value = $("a").value * h / e
    } else {
        if (!IsNum(j)) {
            return false
        }
        $("a").value = $("c").value * e / h
    }
}

function o(a) {
    var j = $("e").value;
    var d = $("f").value;
    var c = $("g").value;
    var b = $("h").value;
    if (a == 0) {
        if (!IsNum(j)) {
            return false
        }
        $("g").value = $("e").value * b / d
    } else {
        if (!IsNum(c)) {
            return false
        }
        $("e").value = $("g").value * d / b
    }
}

function r(x) {
    var q;
    var p;
    var ub;
    var ud;
    var s;
    if (x == 1) {
        ub = $("b");
        ud = $("d");
        ua = $("a");
        uc = $("c");
        s = $("u").value
    } else {
        ub = $("f");
        ud = $("h");
        ua = $("e");
        uc = $("g");
        s = $("s").value
    }
    var f = eval(s + "f");
    var t = eval(s + "t");
    var u0 = eval(s + "0");
    var u1 = eval(s + "1");
    var amount = eval(u0)[t] / eval(u0)[f];
    var z = 0;
    for (var n in u) {
        if (s == u[n]) {
            z = 1
        }
    }
    ua.value = "1";
    uc.value = amount;
    ub.options.length = 0;
    ud.options.length = 0;
    if (z == 1) {
        var o = new Option("Common units", "0");
        o.disabled = "false";
        var r = new Option("Common units", "0");
        r.disabled = "false";
        ub.add(o);
        ud.add(r);
        for (var n in u0) {
            p = new Option(n, u0[n]);
            if (n == f) {
                p.selected = "true"
            }
            q = new Option(n, u0[n]);
            if (n == t) {
                q.selected = "true"
            }
            ub.add(p);
            ud.add(q)
        }
        o = new Option("Other units", "0");
        o.disabled = "false";
        r = new Option("Other units", "0");
        r.disabled = "false";
        ub.add(o);
        ud.add(r);
        for (var n in u1) {
            p = new Option(n, u1[n]);
            q = new Option(n, u1[n]);
            ub.add(p);
            ud.add(q)
        }
    } else {
        for (var n in u0) {
            p = new Option(n, u0[n]);
            q = new Option(n, u0[n]);
            if (n == f) {
                p.selected = "true"
            }
            q = new Option(n, u0[n]);
            if (n == t) {
                q.selected = "true"
            }
            ub.add(p);
            ud.add(q)
        }
    }
};

Thanks for any kind of help. 感谢您的任何帮助。

Wrap everything inside 把里面的东西都包起来

(function($) {
  ...
})(jQuery);

Your code should be 您的代码应为

(function($) {
  function IsNum(a) {
    if (a != null && a != "") {
        return !isNaN(a)
    }
    return false
}

function $(b) {
    if (typeof b == "string") {
        return document.getElementById(b)
    }
    return b
}

function v(g) {
    var f = $("a").value;
    var e = $("b").value;
    var j = $("c").value;
    var h = $("d").value;
    if (g == 0) {
        if (!IsNum(f)) {
            return false
        }
        $("c").value = $("a").value * h / e
    } else {
        if (!IsNum(j)) {
            return false
        }
        $("a").value = $("c").value * e / h
    }
}

function o(a) {
    var j = $("e").value;
    var d = $("f").value;
    var c = $("g").value;
    var b = $("h").value;
    if (a == 0) {
        if (!IsNum(j)) {
            return false
        }
        $("g").value = $("e").value * b / d
    } else {
        if (!IsNum(c)) {
            return false
        }
        $("e").value = $("g").value * d / b
    }
}

function r(x) {
    var q;
    var p;
    var ub;
    var ud;
    var s;
    if (x == 1) {
        ub = $("b");
        ud = $("d");
        ua = $("a");
        uc = $("c");
        s = $("u").value
    } else {
        ub = $("f");
        ud = $("h");
        ua = $("e");
        uc = $("g");
        s = $("s").value
    }
    var f = eval(s + "f");
    var t = eval(s + "t");
    var u0 = eval(s + "0");
    var u1 = eval(s + "1");
    var amount = eval(u0)[t] / eval(u0)[f];
    var z = 0;
    for (var n in u) {
        if (s == u[n]) {
            z = 1
        }
    }
    ua.value = "1";
    uc.value = amount;
    ub.options.length = 0;
    ud.options.length = 0;
    if (z == 1) {
        var o = new Option("Common units", "0");
        o.disabled = "false";
        var r = new Option("Common units", "0");
        r.disabled = "false";
        ub.add(o);
        ud.add(r);
        for (var n in u0) {
            p = new Option(n, u0[n]);
            if (n == f) {
                p.selected = "true"
            }
            q = new Option(n, u0[n]);
            if (n == t) {
                q.selected = "true"
            }
            ub.add(p);
            ud.add(q)
        }
        o = new Option("Other units", "0");
        o.disabled = "false";
        r = new Option("Other units", "0");
        r.disabled = "false";
        ub.add(o);
        ud.add(r);
        for (var n in u1) {
            p = new Option(n, u1[n]);
            q = new Option(n, u1[n]);
            ub.add(p);
            ud.add(q)
        }
    } else {
        for (var n in u0) {
            p = new Option(n, u0[n]);
            q = new Option(n, u0[n]);
            if (n == f) {
                p.selected = "true"
            }
            q = new Option(n, u0[n]);
            if (n == t) {
                q.selected = "true"
            }
            ub.add(p);
            ud.add(q)
        }
    }
};
})(jQuery);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM