javascript - 插件代码问题
PHP中文网
PHP中文网 2017-04-10 15:48:48
[JavaScript讨论组]
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>
PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
PHP中文网

代码是不是上传错了,上面的代码不应该是报 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
  //   }
  // }
};
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号