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 相关文章推荐
本地对象Array的原型扩展实现代码
Dec 04 Javascript
JQuery 图片滚动轮播示例代码
Mar 24 Javascript
js读取json的两种常用方法示例介绍
Oct 19 Javascript
详解JavaScript中的自定义事件编写
May 10 Javascript
jQuery获取及设置表单input各种类型值的方法小结
May 24 Javascript
Javascript 判断两个IP是否在同一网段实例代码
Nov 28 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
Mar 25 Javascript
详解angularJs中关于ng-class的三种使用方式说明
Jun 02 Javascript
移动端吸顶fixbar的解决方案详解
Jul 17 Javascript
ant-design-vue 快速避坑指南(推荐)
Jan 21 Javascript
关于JavaScript中异步/等待的用法与理解
Nov 18 Javascript
基于vue的video播放器的实现示例
Feb 19 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中strtotime函数用法详解
2014/11/15 PHP
一个经典实用的PHP图像处理类分享
2014/11/18 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
Yii控制器中操作视图js的方法
2016/07/04 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
Javascript解决常见浏览器兼容问题的12种方法
2010/01/04 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
2013/11/07 Javascript
js与C#进行时间戳转换
2014/11/14 Javascript
实例讲解javascript注册事件处理函数
2016/01/09 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
微信小程序开发一键登录 获取session_key和openid实例
2016/11/23 Javascript
backbone简介_动力节点Java学院整理
2017/07/14 Javascript
JavaScript解析任意形式的json树型结构展示
2017/07/23 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
关于Vue组件库开发详析
2018/07/01 Javascript
对vux点击事件的优化详解
2018/08/28 Javascript
原生js实现淘宝放大镜效果
2020/10/28 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
Vue 数组和对象更新,但是页面没有刷新的解决方式
2019/11/09 Javascript
[01:59][TI9趣味视频] 全明星赛奖励
2019/08/23 DOTA
用Python的Django框架完成视频处理任务的教程
2015/04/02 Python
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
python之pexpect实现自动交互的例子
2019/07/25 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
2019/12/10 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
经典优秀个人求职自荐信格式
2013/09/25 职场文书
自荐信的禁忌和要点
2013/10/15 职场文书
内容编辑个人求职信
2013/12/10 职场文书
成功经营餐厅的创业计划书范文
2013/12/26 职场文书
售后服务经理岗位职责
2014/02/25 职场文书
焦裕禄精神心得体会
2014/09/02 职场文书
2014年就业工作总结
2014/11/26 职场文书
2014五年级班主任工作总结
2014/12/05 职场文书
高考诚信考试承诺书
2015/04/29 职场文书
党员电教片《信仰》心得体会
2016/01/15 职场文书