我想合并一些JS代码

时间:2016-09-26 09:40:11

标签: javascript

请问,有人可以帮助我将这些JS代码合并到一个可用的JavaScript代码中吗?

代码:

<script type="text/javascript">//<![CDATA[
    $("document").ready(function($) {
        var num = $('#nav').offset().top;
        var nav = $('#header-wrapper');
        $(window).scroll(function() {
            if ($(this).scrollTop() > num) {
                nav.addClass("ffd-hdwrb");
            } else {
                nav.removeClass("ffd-hdwrb");
            }
        });
    });
//]]></script>
<script type="text/javascript">//<![CDATA[
    $("document").ready(function($) {
        var num = $('#nav').offset().top;
        var nav = $('#nav');
        $(window).scroll(function() {
            if ($(this).scrollTop() > num) {
                nav.addClass("ffd-nav");
                nav.removeClass("ffn-nav");
            } else {
                nav.removeClass("ffd-nav");
                nav.addClass("ffn-nav");
            }
        });
    });
//]]></script>
<script type="text/javascript">//<![CDATA[
    $("document").ready(function($) {
        var num = $('#nav').offset().top;
        var nav = $('.Top-wrapper');

        $(window).scroll(function() {
            if ($(this).scrollTop() > num) {
                nav.addClass("ffd-wrapper");
            } else {
                nav.removeClass("ffd-wrapper");
            }
        });
    });
//]]></script>
<script type="text/javascript">//<![CDATA[
    $("document").ready(function($) {
        var num = $('#nav').offset().top;

        var nav = $('.container-wrapper, #main-nav, #main-nav ul li a');
        $(window).scroll(function() {
            if ($(this).scrollTop() > num) {
                nav.addClass("ffd-all");
            } else {
                nav.removeClass("ffd-all");
            }
        });
    });
//]]></script>
<script type="text/javascript">//<![CDATA[
    $("document").ready(function($) {
        var num = $('#main-nav li.search-box').offset().top;
        var nav = $('#main-nav li.search-box');
        $(window).scroll(function() {
            if ($(this).scrollTop() > num) {
                nav.addClass("ffd-shrs");
            } else {
                nav.removeClass("ffd-shrs");
            }
        });
    });
//]]></script>
<script type="text/javascript">//<![CDATA[
    $("document").ready(function($) {
        var num = $('#selectnav1').offset().top;
        var nav = $('#selectnav1');
        $(window).scroll(function() {
            if ($(this).scrollTop() > num) {
                nav.addClass("ffd-nn11");
            } else {
                nav.removeClass("ffd-nn11");
            }
        });
    });
//]]></script>
<script type="text/javascript">//<![CDATA[
    $("document").ready(function($) {
        var num = $('.selectnav').offset().top;
        var nav = $('.selectnav');

        $(window).scroll(function() {
            if ($(this).scrollTop() > num) {
                nav.addClass("ffd-nn");
            } else {
                nav.removeClass("ffd-nn");
            }
        });
    });
//]]></script>
<script type="text/javascript">//<![CDATA[
    $("document").ready(function($) {
        var num = $('#sidebar').offset().top;
        var nav = $('#sidebar');

        $(window).scroll(function() {
            if ($(this).scrollTop() > num) {
                nav.addClass("ffd-sdbrr");
            } else {
                nav.removeClass("ffd-sdbrr");
            }
        });
    });
//]]></script>

我认为它具有相同的属性并且合并并非不可能,但我不太了解JavaScript。

感谢您帮助我。

2 个答案:

答案 0 :(得分:0)

您可以创建一个对象数组并按以下方式迭代:

TextView

答案 1 :(得分:0)

我尝试合并它..这是新的js代码

    <script type='text/javascript'>
$(&quot;document&quot;).ready(function($) {
var num = $(&#39;#nav&#39;).offset().top;
var numm = $(&#39;#sidebar&#39;).offset().top;
var nummm = $(&#39;#selectnav1&#39;).offset().top;
var numv = $(&#39;.selectnav&#39;).offset().top;
var nav = $(&#39;#nav&#39;);
$(window).scroll(function() {
if ($(this).scrollTop() &gt; num) {
$(&#39;#header-wrapper&#39;).addClass(&quot;ffd-hdwrb&quot;);
$(&#39;.Top-wrapper&#39;).addClass(&quot;ffd-wrapper&quot;);
$(&#39;.container-wrapper, #main-nav, #main-nav ul li a&#39;).addClass(&quot;ffd-all&quot;);
$(&#39;#main-nav li.search-box&#39;).addClass(&quot;ffd-shrs&quot;);
nav.addClass(&quot;ffd-nav&quot;);
nav.removeClass(&quot;ffn-nav&quot;); }
else {
$(&#39;#header-wrapper&#39;).removeClass(&quot;ffd-hdwrb&quot;);
$(&#39;.Top-wrapper&#39;).removeClass(&quot;ffd-wrapper&quot;);
$(&#39;.container-wrapper, #main-nav, #main-nav ul li a&#39;).removeClass(&quot;ffd-all&quot;);
$(&#39;#main-nav li.search-box&#39;).removeClass(&quot;ffd-shrs&quot;);
nav.removeClass(&quot;ffd-nav&quot;);
nav.addClass(&quot;ffn-nav&quot;); }
if ($(this).scrollTop() &gt; numm) {
$(&#39;#sidebar&#39;).addClass(&quot;ffd-sdbrr&quot;);
} else {
$(&#39;#sidebar&#39;).removeClass(&quot;ffd-sdbrr&quot;);
}
if ($(this).scrollTop() &gt; nummm) {
$(&#39;#selectnav1&#39;).addClass(&quot;ffd-nn11&quot;);
} else {
$(&#39;#selectnav1&#39;).removeClass(&quot;ffd-nn11&quot;);
}
if ($(this).scrollTop() &gt; numv) {
$(&#39;.selectnav&#39;).addClass(&quot;ffd-nn&quot;);
} else {
$(&#39;.selectnav&#39;).removeClass(&quot;ffd-nn&quot;);
}
});
});
</script>

但现在我有两个问题.. -1,当我删除

//<![CDATA[
..
//]]>

js代码变成了一些符号......我怎么能删除它 -2代码显示长而复杂..您可以用另一种方式编写代码以获得更快的站点吗?