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 相关文章推荐
jQuery在线选座位插件seat-charts特效代码分享
Aug 27 Javascript
javascript中checkbox使用方法简单实例演示
Nov 17 Javascript
全面解析Bootstrap中form、navbar的使用方法
May 30 Javascript
bootstrap输入框组代码分享
Jun 07 Javascript
BootStrap中Datepicker控件带中文的js文件
Aug 10 Javascript
AngularJS框架的ng-app指令与自动加载实现方法分析
Jan 04 Javascript
使用原生js封装的ajax实例(兼容jsonp)
Oct 12 Javascript
vue中element组件样式修改无效的解决方法
Feb 03 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
Feb 05 Javascript
深入理解Vue父子组件生命周期执行顺序及钩子函数
Aug 12 Javascript
angular使用md5,CryptoJS des加密的方法
Jun 03 Javascript
让Vue响应Map或Set的变化操作
Nov 11 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
东方红 - 来复式再生机的修复
2021/03/02 无线电
PHP4.04简明安装
2006/10/09 PHP
PHP连接MySQL数据的操作要点
2015/03/20 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
php 生成签名及验证签名详解
2016/10/26 PHP
利用php-cli和任务计划实现订单同步功能的方法
2017/05/03 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
详细讲解JS节点知识
2010/01/31 Javascript
jQuery操作input值的各种方法总结
2013/11/21 Javascript
JS完整获取IE浏览器信息包括类型、版本、语言等等
2014/05/22 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
2016/09/05 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
2020/06/19 Javascript
Angular中$broadcast和$emit的使用方法详解
2017/05/22 Javascript
前端构建工具之gulp的语法教程
2017/06/12 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
vue本地打开build后生成的dist文件夹index.html问题
2019/09/04 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
解决Antd Table表头加Icon和气泡提示的坑
2020/11/17 Javascript
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
2018/06/11 Python
python循环定时中断执行某一段程序的实例
2019/06/29 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
关于Pytorch MaxUnpool2d中size操作方式
2020/01/03 Python
python 调用Google翻译接口的方法
2020/12/09 Python
Otel.com:折扣酒店预订
2017/08/24 全球购物
英国豪华文具和皮具配件经典老品牌:Smythson(斯迈森)
2018/04/19 全球购物
经济信息管理专业大学生求职信
2013/09/27 职场文书
机械制造与自动化应届生求职信
2013/11/16 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
三严三实对照检查材料范文
2014/09/23 职场文书
招商银行工作证明
2015/06/17 职场文书
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL
python树莓派通过队列实现进程交互的程序分析
2021/07/04 Python
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python