我应该转换内联脚本,以便将其放入外部.js文件中吗?

时间:2019-02-15 03:54:19

标签: javascript jquery html css

我是jQuery的新手,并且我一直在网页中使用koga73(https://github.com/koga73/SnapScroll)的SnapScroll jQuery插件。

它已要求我使用内联脚本:

<script> 
var snapScroll = $("header, section, footer").SnapScroll({
hashes:true }); console.log(snapScroll);

$("header").on(snapScroll.eventChangeActive, function(evt, newActive){
console.log(evt, newActive);
});

$(document).on(snapScroll.eventChangeVisible, function(evt, visibleList){
console.log(evt, visibleList.data);
});
</script>

它运行良好,但是我只是想知道是否值得将其移至外部.js文件中;如果是这样,我如何将代码转换为在外部.js文件中工作?

我的外部js文件是:

<script type="text/javascript" src="web/js/init.js"></script>    

2 个答案:

答案 0 :(得分:1)

通常,您希望将所有JavaScript都放在外部文件中-内联非常适合调试和开发,但是在投入生产时,总是将外部文件压缩和压缩-尽管,您可能会担心最后两个。

如果您将该代码放在文件中,则要像这样放置该代码... ..并丢失脚本标签

// A $( document ).ready() block.

$(document).ready(function() {
    var snapScroll = $("header, section, footer").SnapScroll({
    hashes:true }); console.log(snapScroll);

    $("header").on(snapScroll.eventChangeActive, function(evt, newActive){
        console.log(evt, newActive);
    });

    $(document).on(snapScroll.eventChangeVisible, function(evt, visibleList){
        console.log(evt, visibleList.data);
    });
});

//OR
// Shorthand for $( document ).ready()

$(function() {
    //your code here
});

然后,在页面底部插入外部脚本链接。

答案 1 :(得分:0)

您可以将标记内的行粘贴到js文件中。 您不需要js文件中的脚本标签。 而已。 无论是将代码内联还是放在外部js文件中,这实际上都是您的偏好。