JavaScript实现的可变动态数字键盘控件方式实例代码


Posted in Javascript onJuly 15, 2017

整理文档,搜刮出一个JavaScript实现的可变动态数字键盘控件方式实例代码,稍微整理精简一下做下分享。

@sunRainAmazing

JavaScript编写和实现的可变动态键盘密码输入控件,可以动态的生产数字键盘并显示,并且可以实现每次点击后密码键盘重新加载,可以手动刷新功能。

JavaScript实现的可变动态数字键盘控件方式实例代码

第一种方式,点击查看:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>洗牌算法dynamicKeyboard</title>
  <style>
    .s{color:red;}
    button{width:30px;height:30px; margin-top:5px;text-align: center;}
  </style>
</head>
<body>
  <div>
    <button id="s1" class="s"></button>
    <button id="s2" class="s"></button>
    <button id="s3" class="s"></button>
  <div>
  <div>
    <button id="s4" class="s"></button>
    <button id="s5" class="s"></button>
    <button id="s6" class="s"></button>
  <div>
  <div>
    <button id="s7" class="s"></button>
    <button id="s8" class="s"></button>
    <button id="s9" class="s"></button>
  <div>
  <div>
    <button id="sa" >K</button>
    <button id="s0" class="s"></button>
    <button id="sb" >C</button>
  <div>
  <p>
   <a href="javascript:void(0);" id="keyboard">点击刷新</a>
  </p>
  <script src="http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
  <script type="text/javascript">

    function changeKeyboard(){
      var arr = shuffling();
      var sp = $(".s");
      console.log(sp);
      for (var i = 0; i < sp.length; i++) {
        $(sp[i]).text(arr[i]);
      }

    /**
     * //选择两个[0...array.Length)之间的随机数,
     * 把它们做下标的两个元素交换位置(这样乱序效率高) 
     * 说明:这是“洗牌算法” 证明打乱的效果如下: 

        随机交换nums/2次的效果很差,平均约1/3的对象还在原来的位置 
        随机交换nums次才基本可用,平均约15%的对象还在原来的位置 
        随机交换nums*2次才真正可用,平均约2%的对象还在原来的位置 
    */ 
      function shuffling() { 
        var array=[1,2,3,4,5,6,7,8,9,0];
        for (var j = 0; j < 2; j++) {
          for (var i = 0; i < 10; i++) { 
            var rand = Math.floor(Math.random()*10); 
            var temp = array[i]; 
            array[i] = array[rand]; 
            array[rand] = temp; 
          } 
        }
        return array; 
      } 
    }

    changeKeyboard();
    $("#keyboard").click(function(){
      changeKeyboard();
    });

  </script>


</body>
</html>

第二种方式,点击查看

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>内置sort方法dynamicKeyboard</title>
  <style>
    .s{color:red;}
    button{width:30px;height:30px; margin-top:5px;text-align: center;}
  </style>
</head>
<body>
  <div>
    <button id="s1" class="s"></button>
    <button id="s2" class="s"></button>
    <button id="s3" class="s"></button>
  <div>
  <div>
    <button id="s4" class="s"></button>
    <button id="s5" class="s"></button>
    <button id="s6" class="s"></button>
  <div>
  <div>
    <button id="s7" class="s"></button>
    <button id="s8" class="s"></button>
    <button id="s9" class="s"></button>
  <div>
  <div>
    <button id="sa" >K</button>
    <button id="s0" class="s"></button>
    <button id="sb" >C</button>
  <div>
  <p>
   <a href="javascript:void(0);" id="keyboard">点击刷新</a>
  </p>

  <script src="http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
  <script type="text/javascript">


    function changeKeyboard(){
      var arr=[1,2,3,4,5,6,7,8,9,0];
      arr.sort(function(){return Math.random()>0.5?-1:1;});
      var sp = $(".s");
      console.log(sp);
      for (var i = 0; i < sp.length; i++) {
        $(sp[i]).text(arr[i]);
      }
    }

    changeKeyboard();
    $("#keyboard").click(function(){
      changeKeyboard();
    });

  </script>


</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 面向对象的之私有成员和公开成员
May 04 Javascript
JavaScript中函数(Function)的apply与call理解
Jul 08 Javascript
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
Aug 12 Javascript
js 获取站点应用名的简单实例
Aug 18 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
Dec 08 Javascript
JS中判断某个字符串是否包含另一个字符串的五种方法
May 03 Javascript
vue form 表单提交后刷新页面的方法
Sep 04 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
Apr 22 Javascript
VUE使用axios调用后台API接口的方法
Aug 03 Javascript
Vue-cli assets SubDirectory及PublicPath区别详解
Aug 18 Javascript
vue集成openlayers加载geojson并实现点击弹窗教程
Sep 24 Javascript
JavaScript+HTML实现学生信息管理系统
Apr 20 Javascript
JavaScript实现时间表动态效果
Jul 15 #Javascript
详解基于Node.js的微信JS-SDK后端接口实现代码
Jul 15 #Javascript
JavaScript实现三级联动效果
Jul 15 #Javascript
BackBone及其实例探究_动力节点Java学院整理
Jul 14 #Javascript
backbone简介_动力节点Java学院整理
Jul 14 #Javascript
bootstrap基本配置_动力节点Java学院整理
Jul 14 #Javascript
easyui简介_动力节点Java学院整理
Jul 14 #Javascript
You might like
PHP的substr_replace将指定两位置之间的字符替换为*号
2011/05/04 PHP
php实现简单的上传进度条
2015/11/17 PHP
详解Laravel设置多态关系模型别名的方式
2019/10/17 PHP
检测是否已安装 .NET Framework 3.5的js脚本
2009/02/14 Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
2013/11/21 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
2015/04/05 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
基于jQuery实现复选框是否选中进行答题提示
2015/12/10 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
js数组与字符串常用方法总结
2017/01/13 Javascript
微信小程序 跳转方式总结
2017/04/20 Javascript
vue中七牛插件使用的实例代码
2017/07/28 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
Linux Centos7.2下安装nodejs&amp;npm配置全局路径的教程
2018/05/15 NodeJs
详解使用VueJS开发项目中的兼容问题
2018/08/02 Javascript
详解小程序缓存插件(mrc)
2018/08/17 Javascript
vue+axios+element ui 实现全局loading加载示例
2018/09/11 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
批处理与python代码混合编程的方法
2016/05/19 Python
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
详解Python实现多进程异步事件驱动引擎
2017/08/25 Python
Bottle框架中的装饰器类和描述符应用详解
2017/10/28 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
python mongo 向数据中的数组类型新增数据操作
2020/12/05 Python
详解如何用HTML5 Canvas API控制图片的缩放变换
2016/03/22 HTML / CSS
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
教师个人剖析材料
2014/02/05 职场文书
教师自我反思材料
2014/02/14 职场文书
公司合作意向书
2014/04/01 职场文书
护理专业求职信
2014/06/15 职场文书
企业标语大全
2014/07/01 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
软件项目经理岗位职责
2015/04/01 职场文书
加薪通知
2015/04/25 职场文书
爱国主义教育基地观后感
2015/06/18 职场文书
公司老总年会致辞
2015/07/30 职场文书