函数与Jquery.min.js冲突

时间:2016-03-02 02:38:11

标签: javascript jquery converter conflict

目前正在金属网站上工作,所以我需要像本网站一样的单位转换工具

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

我尝试添加代码,但它不起作用。

当我删除此

时它正在工作
<script src="https://code.jquery.com/jquery-2.2.1.min.js"></script>

问题是我需要那些min.js脚本用于另一个jquery函数。

我尝试将javascript转换器添加到另一个文件但我无法放置正确的noconflict函数。 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)
        }
    }
};

感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:0)

包裹所有内容

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

您的代码应为

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