websocket 增加多分组 fork https://github.com/olahol/melody
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.7 KiB
70 lines
1.7 KiB
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>goofy gophers</title>
|
|
<style>
|
|
body {
|
|
cursor: none;
|
|
overflow: hidden;
|
|
}
|
|
.gopher {
|
|
background-image: url('https://upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Go_gopher_mascot_bw.png/768px-Go_gopher_mascot_bw.png');
|
|
width: 95px;
|
|
height: 95px;
|
|
background-size: cover;
|
|
position: absolute;
|
|
left: 0px;
|
|
top: 0px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
var url = "ws://" + window.location.host + "/ws";
|
|
var ws = new WebSocket(url);
|
|
var myid = -1;
|
|
|
|
ws.onmessage = function (msg) {
|
|
var cmds = {"iam": iam, "set": set, "dis": dis};
|
|
if (msg.data) {
|
|
var parts = msg.data.split(" ")
|
|
var cmd = cmds[parts[0]];
|
|
if (cmd) {
|
|
cmd.apply(null, parts.slice(1));
|
|
}
|
|
}
|
|
};
|
|
|
|
function iam(id) {
|
|
myid = id;
|
|
}
|
|
|
|
function set(id, x, y) {
|
|
var node = document.getElementById("gopher-" + id);
|
|
if (!node) {
|
|
node = document.createElement("div");
|
|
document.body.appendChild(node);
|
|
node.className = "gopher";
|
|
node.style.zIndex = id + 1;
|
|
node.id = "gopher-" + id;
|
|
}
|
|
node.style.left = x + "px";
|
|
node.style.top = y + "px";
|
|
}
|
|
|
|
function dis(id) {
|
|
var node = document.getElementById("gopher-" + id);
|
|
if (node) {
|
|
document.body.removeChild(node);
|
|
}
|
|
}
|
|
|
|
window.onmousemove = function (e) {
|
|
if (myid > -1) {
|
|
set(myid, e.pageX, e.pageY);
|
|
ws.send([e.pageX, e.pageY].join(" "));
|
|
}
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|