我正在使用 jquery 和多个脚本,这些脚本需要 HTML 文档中的 javascript 才能正常运行(感谢 web 2.0)。我正在使用 ajax 发布、$(document).ready运行函数和其他多个事件等。我正在使用谷歌缩小来帮助加载在 HTML 中运行 javascript 所需的外部 javascript 文件的加载时间。我也无法构建/格式化我的 javascript。
我的问题如下:
- 如何最小化 HTML 文档中的代码?
- 即使需要$(document).ready,是否可以将 HTML 文档中的 javascript 链接到外部,如下面的示例?
- 有什么好的网站或教程可以帮助我正确格式化我的 jquery/javascript,因为我很清楚这是不正确的,这是否有助于加载时间?
下面是我运行多个脚本的页面示例(请随意正确格式化),以及我希望外部链接和正确结构的示例。我不是要求任何人为我做我的工作,而只是简单地引导我朝着正确的方向前进。
<script type="text/javascript" src="lib/js/jquery.nivo.slider.js"></script>
<script type="text/javascript" src="lib/js/jquery.fancybox.js"></script>
<script type="text/javascript" src="lib/js/jquery.jcarousel.min.js"></script>
<script type="text/javascript">
    //nivo
    $(window).load(function() { 
        $('#slider').nivoSlider({ effect: 'slideInLeft', pauseTime: 5000 });
    }); 
    //fancybox
    $(document).ready(function() {
        $('.fancybox').fancybox();
        $.fancybox.open($("#welcome"), { padding : 0 });
    });
    //subscribe
    $("#footer-subscribe-show-hide").click(function () {
        $("#footer-subscribe").animate({width:'toggle'},300);
        $(this).show("#subscribe");
    });  
    //responsive
    $(function() { 
        $('.menu-mobile-drop').click(function() {
            $('.menu-mobile').toggle(); 
        });
    });
    $(".menu-wrap").click(function() { 
        $(this).find('img').toggle();
    });
    //subscriptionAjax
    $("#subscriber").submit(function(event) {
        event.preventDefault();
        $("#footer-subscribe").fadeOut();
        var values = $(this).serialize();
        $.ajax({ 
            url: "include/subscribe.php",
            type: "post",
            data: values,
            success: function(){
                $("#footer-subscribe")
                .html(
                    "<div class='subscription-success'>You're now subscribed!</div>"
                )
                .fadeIn('slow');
            },
            error: function(){
                alert("failure"); 
                $("#footer-subscribe").html('there is error while submit');
            } 
        });
    });
    //jcarousel
    function mycarousel_initCallback(carousel) {
        carousel.clip.hover(function() { 
            carousel.stopAuto();
        }, 
        function() {
            carousel.startAuto();
        });
    };
    jQuery(document).ready(function() {
        jQuery('#mycarousel').jcarousel({
            auto: 8,
            wrap: 'last',
            initCallback: mycarousel_initCallback
        });
    });
</script>