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 相关文章推荐
JS 类型转换常见方法小结
May 31 Javascript
js 获取和设置css3 属性值的实现方法
May 06 Javascript
js修改input的type属性问题探讨
Oct 12 Javascript
javascript实现类似百度分享功能的方法
Jul 27 Javascript
Javascript基于AJAX回调函数传递参数实例分析
Dec 15 Javascript
Validform+layer实现漂亮的表单验证特效
Jan 17 Javascript
浅谈js多维数组和hash数组定义和使用
Jul 27 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
Nov 15 Javascript
基于layui框架响应式布局的一些使用详解
Sep 16 Javascript
vue+element-ui表格封装tag标签使用插槽
Jun 18 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
Feb 25 Javascript
vue3 自定义图片放大器效果的示例代码
Jul 23 Vue.js
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
php中通过curl smtp发送邮件
2012/06/05 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
2013/09/26 PHP
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
jquery 日期分离成年月日的代码
2010/05/14 Javascript
jquery的index方法实现tab效果
2011/02/16 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
2013/04/24 Javascript
判断输入是否为空,获得输入类型的JS代码
2013/10/30 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
JS中Location使用详解
2015/05/12 Javascript
JavaScript中数据结构与算法(三):链表
2015/06/19 Javascript
jquery popupDialog 使用 加载jsp页面的方法
2016/10/25 Javascript
jQuery设置图片等比例缩小的方法
2017/04/29 jQuery
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
Vue组件通信的四种方式汇总
2018/02/08 Javascript
javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
2018/08/01 Javascript
详解JavaScript栈内存与堆内存
2019/04/04 Javascript
this.$toast() 了解一下?
2019/04/18 Javascript
jQuery表单选择器用法详解
2019/08/22 jQuery
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
Python程序退出方式小结
2017/12/09 Python
Sanic框架配置操作分析
2018/07/17 Python
值得收藏,Python 开发中的高级技巧
2018/11/23 Python
基于tensorflow for循环 while循环案例
2020/06/30 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
eBay意大利购物网站:eBay.it
2019/09/04 全球购物
营销与策划专业毕业生求职信
2013/11/01 职场文书
装饰资料员岗位职责
2013/12/30 职场文书
优秀会计求职信
2014/07/04 职场文书
农业项目建议书
2014/08/25 职场文书
典型事迹材料范文
2014/12/29 职场文书
小英雄雨来观后感
2015/06/09 职场文书
2016中秋节晚会开场白
2015/11/26 职场文书
Python re.sub 反向引用的实现
2021/07/07 Python