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 相关文章推荐
Javascript 模式实例 观察者模式
Oct 24 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
Apr 22 Javascript
javascript中setAttribute()函数使用方法及兼容性
Jul 19 Javascript
JS实现从网页顶部掉下弹出层效果的方法
Aug 06 Javascript
JS+HTML5 FileReader对象用法示例
Apr 07 Javascript
javascript自定义事件功能与用法实例分析
Nov 08 Javascript
ReactNative实现Toast的示例
Dec 31 Javascript
Vue单页应用引用单独的样式文件的两种方式
Mar 30 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
Feb 26 Javascript
JSON 入门教程基础篇 json入门学习笔记
Sep 22 Javascript
vue.js watch经常失效的场景与解决方案
Jan 07 Vue.js
elementui的el-popover修改样式不生效的解决
Jun 30 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
带密匙的php加密解密示例分享
2014/01/29 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
在Z-Blog中运行代码[html][/html](纯JS版)
2007/03/25 Javascript
javascript hasFocus使用实例
2010/06/29 Javascript
js或jquery实现页面打印可局部打印
2014/03/27 Javascript
JavaScript不刷新实现浏览器的前进后退功能
2014/11/05 Javascript
node.js中的fs.write方法使用说明
2014/12/15 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
实例详解Nodejs 保存 payload 发送过来的文件
2016/01/14 NodeJs
基于JS实现新闻列表无缝向上滚动实例代码
2016/01/22 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
vue2.0 子组件改变props值,并向父组件传值的方法
2018/03/01 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
Node.js操作系统OS模块用法分析
2019/01/04 Javascript
jQuery实现的图片点击放大缩小功能案例
2020/01/02 jQuery
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
2020/05/09 Javascript
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
Python抓取百度查询结果的方法
2015/07/08 Python
python dict 相同key 合并value的实例
2019/01/21 Python
python+pyqt5实现KFC点餐收银系统
2019/01/24 Python
Python2.7实现多进程下开发多线程示例
2019/05/31 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
Python绘制全球疫情变化地图的实例代码
2020/04/20 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
同程旅游英文网站:LY.com
2018/11/13 全球购物
梅西百货官网:Macy’s
2020/08/04 全球购物
超市促销实习自我鉴定
2013/09/23 职场文书
幼儿师范毕业生自荐信
2013/11/09 职场文书
学校捐书活动总结
2015/05/08 职场文书
2015年机关党委工作总结
2015/05/23 职场文书
让子弹飞观后感
2015/06/11 职场文书
Python爬虫:从m3u8文件里提取小视频的正确操作
2021/05/14 Python