<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>插棒小游戏</title>
<link href="index.css" rel="stylesheet" />
</head>
<body>
<input type="date" />
<main data-count="4">
<ul id="circle">
<li data-idx="1"></li>
<li data-idx="2"></li>
<li data-idx="3"></li>
<li data-idx="4"></li>
</ul>
<ul id="pad">
<li data-idx="5" ></li>
</ul>
</main>
<script>
"use strict";
function getRotateRadians(elem) {
var tr = getComputedStyle(elem).transform;
var values = tr.split('(')[1],
values = values.split(')')[0],
values = values.split(',');
var a = Number(values[0]); // 0.866025
var b = Number(values[1]); // 0.5
var c = Number(values[2]); // -0.5
var d = Number(values[3]); // 0.866025
var radians = Math.atan2(b, a);
if (radians < 0) {
radians += 2 * Math.PI;
}
return radians;
}
window.addEventListener("load", function() {
var main = document.getElementsByTagName("main")[0];
var pad = document.getElementById("pad");
var circle = document.getElementById("circle");
window.addEventListener("click", function() {
var li = pad.children[0];
li.addEventListener("transitionend", function() {
pad.removeChild(this);
circle.appendChild(this);
this.classList.remove("moving");
li.style.transform = "rotate(" + (Math.PI - getRotateRadians(circle)) + "rad)";
var newLi = document.createElement("li");
newLi.dataset.idx = newLi.style.zIndex = circle.children.length + 1
main.dataset.count = circle.children.length;
pad.appendChild(newLi);
});
li.classList.add("moving");
});
});
</script>
</body>
</html>
XHTMT|
HTML5|
CSS|
HTML DOM|
jQuery|
JSON|
AJAX|
LESS|
HTML|
Bootstrap|
Foundation|
AngularJS|
Ember.js|
TypeScript|
AngularJS2|
React|
jQuery UI|
jQuery EasyUI|
Node.js|
Highcharts|
Echarts|
Vue.js|
CoffeeScript|
Ext.js|
Meteor|
SASS|
Omi|
Markdown|
前端开发规范|
浏览器|
webpack|
JavaScript|
CSS3|
用户登录
还没有账号?立即注册
用户注册
投稿取消
| 文章分类: |
|
还能输入300字
上传中....
下决心一不改了