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 相关文章推荐
分析 JavaScript 中令人困惑的变量赋值
Aug 13 Javascript
javascript获取鼠标点击元素对象(示例代码)
Dec 20 Javascript
Android中的jQuery:AQuery简介
May 06 Javascript
JS生成不重复随机数组的函数代码
Jun 10 Javascript
window.location.reload 刷新使用分析(去对话框)
Nov 11 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
Mar 10 Javascript
JS仿百度自动下拉框模糊匹配提示
Jul 25 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
Feb 27 Javascript
解决IE7中使用jQuery动态操作name问题
Aug 28 jQuery
AngularJS 教程及实例代码
Oct 23 Javascript
判断“命令按钮”是否被鼠标单击详解
Jul 31 Javascript
ES6对象操作实例详解
May 23 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注释和去除空格函数分享
2014/03/13 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
2017/05/08 PHP
thinkPHP3.2.2框架行为扩展及demo示例
2018/06/19 PHP
非常好的js代码
2006/06/27 Javascript
获取DOM对象的几种扩展及简写
2006/10/09 Javascript
JavaScript高级程序设计 读书笔记之十一 内置对象Global
2012/03/07 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
JS图片根据鼠标滚动延时加载的实例代码
2013/07/13 Javascript
setTimeout()与setInterval()方法区别介绍
2013/12/24 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
package.json文件配置详解
2017/06/15 Javascript
webpack4 入门最简单的例子介绍
2018/09/05 Javascript
angularjs使用div模拟textarea文本框的方法
2018/10/02 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
javascript实现异形滚动轮播
2019/11/28 Javascript
用Python创建声明性迷你语言的教程
2015/04/13 Python
解决Mac安装scrapy失败的问题
2018/06/13 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
2018/06/19 Python
在dataframe两列日期相减并且得到具体的月数实例
2018/07/03 Python
python 实现目录复制的三种小结
2019/12/04 Python
Python Lambda函数使用总结详解
2019/12/11 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
竞聘医务工作人员的自我评价分享
2013/11/04 职场文书
活动总结怎么写啊
2014/05/07 职场文书
员工2014年度工作总结
2014/12/09 职场文书
校长师德表现自我评价
2015/03/05 职场文书
我在伊朗长大观后感
2015/06/16 职场文书
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
2021/05/21 Python
JavaScript实现简单拖拽效果
2021/09/15 Javascript
Python Matplotlib绘制条形图的全过程
2021/10/24 Python
分享提高 Python 代码的可读性的技巧
2022/03/03 Python