1

我有一个响应式菜单和响应式幻灯片,需要 javascript 和 jquery,但只有一个有效。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="js/responsiveslides.min.js"></script>

<script>
  $(function() {
    $(".rslides").responsiveSlides();
  });
</script>


<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="js/jquery.slicknav.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#menu').slicknav({
        prependTo:"#border-orange"});
});
</script>

第二个有效,但第一个无效。当我再次切换它们时,第二个有效,但第一个无效。有没有办法组合代码以便两个脚本都可以工作,还是“一个或另一个”的情况?

4

4 回答 4

5

您包含 jQuery 两次,只需删除第二个引用,您就可以拥有任意数量的部分$(document).ready()

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="js/responsiveslides.min.js"></script>

<script>
  $(function() {
    $(".rslides").responsiveSlides();
  });
</script>

<script src="js/jquery.slicknav.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#menu').slicknav({
        prependTo:"#border-orange"});
});
</script>
于 2014-02-21T03:24:42.280 回答
2

使用多个版本的 jQuery 是非常少见的。你确定,这是需要的吗?否则,请尝试

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="js/responsiveslides.min.js"></script>
<script src="js/jquery.slicknav.js"></script>

<script>
$(document).ready(function(){
    $(".rslides").responsiveSlides();
    $('#menu').slicknav({
        prependTo:"#border-orange"});
});
</script>

如果需要使用多个版本的 jQuery,请考虑使用jQuery.noConflict()

于 2014-02-21T03:26:49.993 回答
2

如果要使用多个版本的 jQuery,请使用noConflict()

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="js/responsiveslides.min.js"></script>

<script>
    var $183 = jQuery.noConflict(true);
    $183(function($) {
        $(".rslides").responsiveSlides();
    });
</script>


<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="js/jquery.slicknav.js"></script>
<script type="text/javascript">
    jQuery(function($){
        $('#menu').slicknav({
            prependTo:"#border-orange"});
        });
</script>
于 2014-02-21T03:27:46.477 回答
1

如果您需要两个版本,那么您可以使用$.noConflict()一个版本:

var jQuery_1.8.3 = $.noConflict(true);

然后,您可以使用jQuery_1.8.3而不是$需要 jQuery1.8.3才能工作的代码。

jQuery_1.8.3 (function() {
    jQuery_1.8.3(".rslides").responsiveSlides();
});

对于其他版本,您可以$照常使用。

于 2014-02-21T03:28:43.377 回答