插件代码问题
var oSwitch=function() {
this.dom=null;
this.settings = {
isTop: true, //是否开通头部栏
topNum: 4, //头部栏显示个数默认4个
};
return new oSwitch.prototype.init(el, option);
};
oSwitch.prototype.init.prototype = oSwitch.prototype;
oSwitch.prototype = {
constructor: oSwitch,
init: function(el, option) {
alert(this);
this.dom = typeof el === "string" ? document.querySelector(el) || el;
for (var attr in option) {
this.settings[attr] = option[attr];
}
},
};
window.onload = function() {
//这个报oSwitch is not defined是哪里出错了吗??
var myScroll = oSwitch("#wrapper", {});
};
<body>
<article id="wrapper">
<header></header>
<section></section>
<footer></footer>
</article>
</body>
猫耳女仆眼睛娘
9 years, 3 months ago
Answers
代码是不是上传错了,上面的代码不应该是报
oSwitch is not defined
错误, 应该是
el is not defined
才对吧? 代码中有好几处错误,我在你的基础上做了一些调整:
var oSwitch = function(el, option) {
return new oSwitch.prototype.init(el, option);
};
oSwitch.prototype = {
constructor: oSwitch,
init: function(el, option) {
// alert(this);
this.dom = null;
this.settings = {
isTop: true, //是否开通头部栏
topNum: 4, //头部栏显示个数默认4个
};
this.dom = typeof el === "string" ? document.querySelector(el) : el;
this.settings = $.extend(this.settings, option); // 扩展默认值
},
};
oSwitch.prototype.init.prototype = oSwitch.prototype;
window.onload = function() {
var myScroll = oSwitch("#wrapper", {});
console.log(myScroll);
// 输出:
// {
// "dom": article#wrapper,
// "settings": {
// "isTop": true,
// "topNum": 4
// }
// }
};
海灵顿的忧郁
answered 9 years, 3 months ago