JS不使用Head(仅限Body)

时间:2016-04-18 07:17:42

标签: jquery

我实际上在CMS上工作,我无法触摸Head,只在主体中插入内容,但实际上已经加载了JS库。

我尝试在<script></script>代码中添加来自codrops的脚本,但似乎没有用。

错误:

  

未捕获的ReferenceError:CBPFWTabs未定义apercu-335.kjsp:1125   未捕获的SyntaxError:意外的输入结束

我的<body>内的代码:

<script>
    (function() {
            [].slice.call( document.querySelectorAll( '.tabs' ) ).forEach( function( el ) {
                new CBPFWTabs( el );
            });

        })();
</script>

<script>
    ( function( window ) {
        'use strict';
    function extend( a, b ) {
        for( var key in b ) { 
            if( b.hasOwnProperty( key ) ) {
                a[key] = b[key];
            }
        }
        return a;
     }

    function CBPFWTabs( el, options ) {
        this.el = el;
        this.options = extend( {}, this.options );
        extend( this.options, options );
        this._init();
    }

    CBPFWTabs.prototype.options = {
        start : 0
    };

    CBPFWTabs.prototype._init = function() {
        // tabs elems
       this.tabs = [].slice.call( this.el.querySelectorAll( 'nav > ul > li' ) );
    // content items
    this.items = [].slice.call( this.el.querySelectorAll( '.content-wrap > section' ) );
    // current index
    this.current = -1;
    // show current content item
    this._show();
    // init events
    this._initEvents();
};

CBPFWTabs.prototype._initEvents = function() {
    var self = this;
    this.tabs.forEach( function( tab, idx ) {
        tab.addEventListener( 'click', function( ev ) {
            ev.preventDefault();
            self._show( idx );
        } );
    } );
};

CBPFWTabs.prototype._show = function( idx ) {
    if( this.current >= 0 ) {
        this.tabs[ this.current ].className = this.items[ this.current ].className = '';
    }
    // change current
    this.current = idx != undefined ? idx : this.options.start >= 0 &&     
this.options.start < this.items.length ? this.options.start : 0;
    this.tabs[ this.current ].className = 'tab-current';
    this.items[ this.current ].className = 'content-current';
    };

    // add to global namespace
    window.CBPFWTabs = CBPFWTabs;
})( window );</script>

来源: http://tympanus.net/codrops/

非常感谢你的时间。

2 个答案:

答案 0 :(得分:0)

错误Unexpected end of input表示您的代码中存在语法错误。解决它。

旁注

只要您在加载前未在任何地方使用这些功能,就可以在<body>末尾添加代码。

可行:

<script src="jquery"></script>
<script>$(document).ready();</script>

不起作用:

<script>$(document).ready();</script>
<script src="jquery"></script>

答案 1 :(得分:0)

我找到了问题,谢谢大家的帮助。

一旦页面保存,CMS就会以内联方式显示代码,因此在代码中的第一个“//”之后,导航器会将下一行视为注释。

我删除了代码中的所有注释,并且工作正常,问题不在代码中,而是因为没有使用部分代码。

谢谢你,祝你有个美好的一天。