js实现华丽的九九乘法表效果


Posted in Javascript onMarch 29, 2017

效果图:

js实现华丽的九九乘法表效果

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>span实现的乘法表</title>
 <style type="text/css">
  .wrap {
   width: 800px;
   margin: 20px auto;
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   user-select: none;
  }

  span {
   padding: 3px;
   font-weight: 700;
   display: inline-block;
   line-height: 30px;
   border-bottom: 2px solid #000000;
   border-left: 2px solid #000000;
   width: 80px;
   cursor: pointer;
  }
  .last {
   margin-top: -2px;
   border-top: 2px solid #000000;
   border-right: 2px solid #000000;
  }

  .bg0 {
   background-color: yellow;
  }

  .bg1 {
   background-color: lawngreen;
  }

  .bg2 {
   background-color: lightblue;
  }

  .hover {
   background-color: #BB3BD9;
  }
  .only{
   background-color: lightsalmon;
  }
 </style>
</head>
<body>
<script>
 function multiplication(a) {
  var str = '<div class="wrap">';
  for (var i = 1; i <= a; i++) {
   for (var j = 1; j <= i; j++) {
    var curstr = j + ' x ' + i + '= ' + i * j;
    j !== i ? str += '<span class="' + 'bg' + (i % 3) + '">' + curstr + '</span>' : str += '<span class="' + 'last bg' + (i % 3) + '">' + curstr + '</span><br/>';
   }
  }
  str += "</div>";
  document.write(str);
 }
 i

 multiplication(9);

 var oSpans = document.getElementsByTagName("span");
 for (var i = 0; i < oSpans.length; i++) {
  oSpans[i].onclick = function () {
   //alert("我是第 "+parseInt(this.innerHTML)+" 行");
   alert(this.innerHTML + " 我在第 " + this.innerHTML.charAt(4) + " 行");
  }
  oSpans[i].onmouseover = function () {
   //console.log(111);
   var num = this.innerHTML.charAt(4);
   //console.log(num);
   for (var j = 0; j < oSpans.length; j++) {
    if (oSpans[j].innerHTML.charAt(4) === num) {
     oSpans[j].classList.add("hover");
    }
   }
   this.classList.add("only");
  }
  oSpans[i].onmouseout = function () {
   var num = this.innerHTML.charAt(4);
   for (var j = 0; j < oSpans.length; j++) {
    if (oSpans[j].innerHTML.charAt(4) === num) {
     oSpans[j].classList.remove("hover");
    }
   }
   this.classList.remove("only");
  }
 }
</script>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
js调用css属性写法
Sep 21 Javascript
jquery实现滑动图片自己测试的例子
Nov 05 Javascript
字符串反转_JavaScript
Apr 28 Javascript
第八篇Bootstrap下拉菜单实例代码
Jun 21 Javascript
JS正则匹配中文的方法示例
Jan 06 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
Jul 07 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
Sep 02 Javascript
JavaScript中发出HTTP请求最常用的方法
Jul 12 Javascript
vue-cli webpack 引入swiper的操作方法
Sep 15 Javascript
jQuery-Citys省市区三级菜单联动插件使用详解
Jul 26 jQuery
vue项目,代码提交至码云,iconfont的用法说明
Jul 30 Javascript
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
Nov 09 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
Mar 29 #Javascript
微信小程序实现带刻度尺滑块功能
Mar 29 #Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
Mar 29 #Javascript
详解如何在Vue2中实现组件props双向绑定
Mar 29 #Javascript
整理关于Bootstrap警示框的慕课笔记
Mar 29 #Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
Mar 29 #Javascript
jQuery实现字体颜色渐变效果的方法
Mar 29 #jQuery
You might like
分享一个超好用的php header下载函数
2014/01/31 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
2015/11/10 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
PHP会话控制实例分析
2016/12/24 PHP
详解Yii实现分页的两种方法
2017/01/14 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
CSS+jQuery实现的一个放大缩小动画效果
2013/09/24 Javascript
Javascript中神奇的this
2016/01/20 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
Bootstrap基本模板的使用和理解1
2016/12/14 Javascript
Vue2.0 UI框架ElementUI使用方法详解
2017/04/14 Javascript
用vue-cli开发vue时的代理设置方法
2018/09/20 Javascript
vue如何获取自定义元素属性参数值的方法
2019/05/14 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
[07:43]《辉夜杯》公开赛晋级外卡赛战队—TRG训练生活探秘
2015/12/11 DOTA
python函数返回多个值的示例方法
2013/12/04 Python
python中快速进行多个字符替换的方法小结
2016/12/15 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
python中利用Future对象回调别的函数示例代码
2017/09/07 Python
python3.5 cv2 获取视频特定帧生成jpg图片
2019/08/28 Python
tensorflow如何批量读取图片
2019/08/29 Python
python实现猜拳游戏
2020/03/04 Python
澳大利亚电子产品购物网站:Dick Smith
2017/02/02 全球购物
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
汽车专业毕业生自荐信
2013/11/03 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
学生检讨书如何写
2014/10/30 职场文书
小浪底导游词
2015/02/12 职场文书
2016年情人节广告语
2016/01/28 职场文书
高中历史教学反思
2016/02/19 职场文书
浅谈Golang 切片(slice)扩容机制的原理
2021/06/09 Golang
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python
PostgreSQL出现死锁该如何解决
2022/05/30 PostgreSQL
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python