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入门之事件、cookie、定时等
Oct 21 Javascript
JS(JQuery)操作Array的相关方法介绍
Feb 11 Javascript
Javascript 浮点运算精度问题分析与解决
Mar 26 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
Oct 11 Javascript
jQuery删除节点用法示例(remove方法)
Sep 08 Javascript
JavaScript 深层克隆对象详解及实例
Nov 03 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
Feb 28 Javascript
微信小程序 数据绑定及运算的简单实例
Sep 20 Javascript
在React项目中使用Eslint代码检查工具及常见问题
Oct 10 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
Jul 18 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
Nov 12 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
May 27 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中 $$str 中 &quot;$$&quot; 的详解
2015/07/06 PHP
php 使用fopen函数创建、打开文件详解及实例代码
2016/09/24 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
JavaScript 实现模态对话框 源代码大全
2009/05/02 Javascript
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
2014/01/10 Javascript
javascript 实现 原路返回
2015/01/21 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
jQuery简单实现点击文本框复制内容到剪贴板上的方法
2016/08/01 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
基于Node的React图片上传组件实现实例代码
2017/05/10 Javascript
详解react关于事件绑定this的四种方式
2018/03/09 Javascript
使用vue-router在Vue页面之间传递数据的方法
2019/07/15 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
2020/09/07 Javascript
Python基于Tkinter的HelloWorld入门实例
2015/06/17 Python
Windows下python3.7安装教程
2018/07/31 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
python实现控制台打印的方法
2019/01/12 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
python 批量下载bilibili视频的gui程序
2020/11/20 Python
利用CSS3的flexbox实现水平垂直居中与三列等高布局
2016/09/12 HTML / CSS
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
生物化工专业个人自荐信
2013/09/26 职场文书
最新茶叶店创业计划书
2014/01/14 职场文书
初三政治教学反思
2014/01/30 职场文书
高中毕业自我评价
2014/02/08 职场文书
酒店秘书求职信范文
2014/02/17 职场文书
运动会广播稿150字
2014/02/19 职场文书
协议书范本
2014/04/23 职场文书
公司募捐倡议书
2014/05/14 职场文书
心得体会的写法
2014/09/05 职场文书
机动车登记业务委托书
2014/10/08 职场文书
政府会议通知范文
2015/04/15 职场文书
创业计划书之家教中心
2019/09/25 职场文书
vue中使用mockjs配置和使用方式
2022/04/06 Vue.js