実際には私はヘッドに触れることができないCMSで作業しています。本体にコンテンツを挿入するだけで、JSライブラリは実際に読み込まれます。JSを使わずにJS(本体のみ)
<script></script>
タグのコードクローンからスクリプトを挿入しようとしましたが、うまくいかなかったようです。
エラー:
Uncaught ReferenceError: CBPFWTabs is not defined apercu-335.kjsp:1125 Uncaught SyntaxError: Unexpected end of input
私<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/
はありがとうあなたの時間のために非常に。
あなたの答えをありがとう、私はコードをダブルチェックし、私は今なぜ知っていると思う。 – Warry
@ワリー何が間違っているのかわかったら、教えてください。 – Justinas