2 qq 40269913 qq_40269913 于 2017.09.16 16:22 提问

一个HTML页面中用两个js,为什么只能运行一个,怎么改?

js如下:

 <script>
 <!--控制鼠标单击不同文字显示不同层-->
function $(v){return document.getElementById(v);}
var x=0;
function c(y){
$("a"+x).style.display = "none";
$("a"+y).style.display = "";
x=y
}
</script>

<script>
 $(function(){
            <!--控制图片滚动-->
            $(".example2").luara({width:"1920",height:"449",interval:2000,selected:"seleted",deriction:"left"});

        });

</script>

10个回答

showbo
showbo   Ds   Rxr 2017.09.16 17:35

你定义的$和jquey冲突了,去掉$的定义,全部改为用jquery的,如果你还有其他地方用到自定义的$,只能释放jquery对$的占用了,然后用到jquery的$地方全部用jQuery来代替,或者做个匿名函数传入jQuery,用$接受

 <script type="text/javascript" src="https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
<script>jQuery.noConflict()//释放$</script>
<script>
    function $(v) { return document.getElementById(v); }
    var x = 0;
    function c(y) {
        $("a" + x).style.display = "none";
        $("a" + y).style.display = "";
        x = y
    }
</script>

<script>
    (function ($) {//$代表jQuery,不是你定义的$
        $(function () {
            $(".example2").luara({ width: "1920", height: "449", interval: 2000, selected: "seleted", deriction: "left" });

        });
    })(jQuery);//传入jQuery
</script>
MathRandom
MathRandom   2017.09.16 17:13

写到一个里面就可以嘛

XianRenShan
XianRenShan   2017.09.16 17:24

可能是你的代码冲突了

qq_37584116
qq_37584116   2017.09.16 17:28

代码冲突代码冲突代码冲突代码冲突

q213546879
q213546879   2017.09.16 17:33
 function $(v){return document.getElementById(v);}

把你这行代码改一下,改成这样应该就好了

  function name(v){return document.getElementById(v);}
sreddouilyongxia
sreddouilyongxia   2017.09.16 18:05

定义的$ 与jquery的 $ 冲入引起的。

qq923550662
qq923550662   2017.09.16 18:15

两个函数可以都写到一个script里啊

qq_36754189
qq_36754189   2017.09.16 18:20

ddddddddddddddddddddddddddddd

u012513506
u012513506   2017.09.16 23:52

上面的的$和底下的jquery冲突了,貌似jquery有解决二者冲突的方式,第一种是给上面的原生JS中的$换一个函数名,第二种是地下作为选择器的$改成jquery二者等价,你可以试下,第二个可能行不通

Young_Gao
Young_Gao   2017.09.25 15:20

$ jquery冲突,上面的各位解释的比较清楚,我就不多说了

Csdn user default icon
上传中...
上传图片
插入图片