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 相关文章推荐
广告切换效果(缓动切换)
May 27 Javascript
$.format,jquery.format 使用说明
Jul 13 Javascript
javascript数字格式化通用类 accounting.js使用
Aug 24 Javascript
Javascript访问器属性实例分析
Dec 30 Javascript
分享十三个最佳JavaScript数据网格库
Apr 07 Javascript
详解node如何让一个端口同时支持https与http
Jul 04 Javascript
Vue.js项目部署到服务器的详细步骤
Jul 17 Javascript
JS实现的简单拖拽购物车功能示例【附源码下载】
Jan 03 Javascript
ionic grid(栅格)九宫格制作详解
Jun 30 Javascript
vue.js配合$.post从后台获取数据简单demo分享
Aug 11 Javascript
express express-session的使用小结
Dec 12 Javascript
Vue实现简单的留言板
Oct 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
解析smarty 截取字符串函数 truncate的用法介绍
2013/06/20 PHP
php定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
2015/10/26 PHP
php阳历转农历优化版
2016/08/08 PHP
使用prototype.js进行异步操作
2007/02/07 Javascript
DOMAssitant最新版 DOMAssistant 2.5发布
2007/12/25 Javascript
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
JS 对象介绍
2010/01/20 Javascript
jquery获得keycode的示例代码
2013/12/30 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
2014/05/21 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
原生javascript实现隔行换色
2015/01/04 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
Node.js Sequelize如何实现数据库的读写分离
2016/10/23 Javascript
jquery html5 视频播放控制代码
2016/11/06 Javascript
JS匿名函数实例分析
2016/11/26 Javascript
老生常谈的跨域处理
2017/01/11 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
小程序实现列表多个批量倒计时
2021/01/29 Javascript
JavaScript大数相加相乘的实现方法实例
2020/10/18 Javascript
python模块之re正则表达式详解
2017/02/03 Python
win10下Python3.6安装、配置以及pip安装包教程
2017/10/01 Python
pycharm配置当鼠标悬停时快速提示方法参数
2019/07/31 Python
python matplotlib拟合直线的实现
2019/11/19 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
美国受欢迎的眼影品牌:BH Cosmetics
2016/10/25 全球购物
台湾乐天市场:日本No.1的网路购物网站
2017/03/22 全球购物
加拿大时装零售商:Influence U
2018/12/22 全球购物
英国男女豪华配饰和礼品网站:Black.co.uk
2020/02/28 全球购物
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
银行求职自荐书
2014/06/25 职场文书
检讨书模板大全
2015/05/07 职场文书
导游词之山西祁县乔家大院
2019/10/14 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
深入理解redis中multi与pipeline
2021/06/02 Redis
MongoDB数据库的安装步骤
2021/06/18 MongoDB