JS实现一个按钮的方法


Posted in Javascript onFebruary 05, 2015

本文实例讲述了JS实现一个按钮的方法。分享给大家供大家参考。具体实现方法如下:

<!doctype html> 
<html> 
  <head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="edge"> 
    <script> 
    window.onload = function(){ 
      var btn = new Btn(); 
      btn.init({width:300}); 
      bindEvent(btn,'show',function(){ 
        alert(1); 
      }) 
      bindEvent(btn,'click',function(){ 
        alert(2); 
      }) 
      var oBtn = document.getElementById('btn'); 
      oBtn.onclick = function (){ 
        fireEvent(btn,'show'); 
      } 
    } 
      function Btn(){ 
        this.btn= null; 
        this.settings = { 
          width:200, 
          height:40, 
          borderRadius:6, 
          text :'按钮' 
        }; 
      } 
      Btn.prototype.init = function (opt){ 
 
        extend(this.settings,opt); 
        this.creat(); 
      } 
      Btn.prototype.creat = function (){ 
        this.btn =document.createElement('div'); 
         
        document.body.appendChild(this.btn); 
        this.btn.innerHTML = this.settings.text; 
        this.setData(); 
      } 
      Btn.prototype.destory = function (){ 
        document.body.removeChild(this.btn); 
      } 
      Btn.prototype.setData = function (){ 
        this.btn.style.width = this.settings.width +'px'; 
        this.btn.style.height = this.settings.height +'px'; 
        this.btn.style.border ='solid #f00 '+ this.settings.borderRadius +'px'; 
 
      } 
    function extend(obj1,obj2){ 
      for(var attr in obj2){ 
        obj1[attr] = obj2[attr]; 
      } 
    } 
    function bindEvent(obj,events,fn){ 
      obj.listeners = obj.listeners || {}; 
      obj.listeners[events] = obj.listeners[events] || []; 
      obj.listeners[events].push( fn ); 
      if(obj.nodeType){ 
        if(obj.addEventListener){ 
          obj.addEventListener(events,fn,false); 
        }else{ 
          obj.attachEvent('on'+events,fn); 
        } 
      } 
    } 
    function fireEvent (obj,events){ 
      if(obj.listeners[events]){ 
        for(var i in obj.listeners[events]){ 
          obj.listeners[events][i](); 
        } 
      } 
    } 
    </script> 
  </head> 
  <body> 
  <a id="btn" style="margin-top: 40px;" >12</a> 
  </body> 
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
QQ邮箱的一个文本编辑器代码
Mar 14 Javascript
jQuery 中关于CSS操作部分使用说明
Jun 10 Javascript
几个javascript操作word的参考代码
Oct 26 Javascript
分享20款好玩的jQuery游戏
Apr 17 Javascript
JavaScript限定复选框的选择个数示例代码
Aug 25 Javascript
js中获取jsp表单中radio类型的值简单实例
Aug 15 Javascript
vuex实现简易计数器
Oct 27 Javascript
从零学习node.js之mysql数据库的操作(五)
Feb 24 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
Mar 15 Javascript
完美解决mui框架off-canvas侧滑超出部分隐藏无法滚动的问题
Jan 25 Javascript
微信小程序关键字变色实现代码实例
Dec 13 Javascript
Postman环境变量全局变量使用方法详解
Aug 13 Javascript
JS继承用法实例分析
Feb 05 #Javascript
Javascript实现Web颜色值转换
Feb 05 #Javascript
JS表的模拟方法
Feb 05 #Javascript
JS的数组迭代方法
Feb 05 #Javascript
js实现照片墙功能实例
Feb 05 #Javascript
js实现仿百度瀑布流的方法
Feb 05 #Javascript
JS函数this的用法实例分析
Feb 05 #Javascript
You might like
Linux fgetcsv取得的数组元素为空字符串的解决方法
2011/11/25 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
2014/07/08 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
laravel手动创建数组分页的实现代码
2018/06/07 PHP
JavaScript高级程序设计 阅读笔记(十三) js定义类或对象
2012/08/14 Javascript
JavaScript不刷新实现浏览器的前进后退功能
2014/11/05 Javascript
js的[defer]和[async]属性
2014/11/24 Javascript
js+ajax实现获取文件大小的方法
2015/12/08 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
2016/03/10 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
jQuery的ajax和遍历数组json实例代码
2016/08/01 Javascript
微信小程序之购物车功能
2020/09/23 Javascript
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
vue2.x select2 指令封装详解
2017/10/12 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
JavaScript中concat复制数组方法浅析
2019/01/20 Javascript
微信小程序如何播放腾讯视频的实现
2019/09/20 Javascript
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
详解Python的单元测试
2015/04/28 Python
浅谈python中set使用
2016/06/30 Python
Python实现字符串与数组相互转换功能示例
2017/09/22 Python
python实现学生管理系统
2018/01/11 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
在Pycharm中执行scrapy命令的方法
2019/01/16 Python
Python3.5字符串常用操作实例详解
2019/05/01 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
解决pytorch GPU 计算过程中出现内存耗尽的问题
2019/08/19 Python
Django中的AutoField字段使用
2020/05/18 Python
django中cookiecutter的使用教程
2020/12/03 Python
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
法律专业自我鉴定
2013/10/03 职场文书
信息学院毕业生自荐信范文
2014/03/04 职场文书
总结Java对象被序列化的两种方法
2021/06/30 Java/Android
用JS写一个发布订阅模式
2021/11/07 Javascript