yy第一道
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>haha</title>
</head>
<body>
<ul class="list">
<li>aa<a href="#">刪除</a></li>
<li>bb<a href="#">刪除</a></li>
<li>cc<a href="#">刪除</a></li>
<li>dd<a href="#">刪除</a></li>
<li>ee<a href="#">刪除</a></li>
</ul>
<script>
var ul = document.getElementsByClassName("list")[0];
ul.onclick = function(event){
var obj = event.srcElement||event.target;
var li = obj.parentNode;
ul.removeChild(li);
}
</script>
</body>
</html>
yy第二道
<!doctype html>
<html>
<head>
<style type="text/css">
.circle {
width: 100px;
height: 100px;
border-radius: 50px;
background-color: red;
position: relative;
animation-iteration-count: infinite;
animation-duration: 3s;
animation-name: scroll;
}
@keyframes scroll {
from {
left: 0;
}
50% {
left: 100px;
}
to {
left: 0;
}
}
</style>
</head>
<body>
<div class="circle"></div>
</body>
</html>
yy第三道
function getcookie(objname){//獲取指定名稱的cookie的值
var arrstr = document.cookie.split("; ");
for(var i = 0;i < arrstr.length;i ++){
var temp = arrstr[i].split("=");
if(temp[0] == objname) return unescape(temp[1]);
}
}
yy第四道
var EventEmitter = function () {
this.events = {}; //保存事務(wù)关霸,存儲結(jié)構(gòu)為{'eventName1':[{listener:function觸發(fā)的函數(shù), time:觸發(fā)的次數(shù)}], 'eventName2':[],}
};
/*獲取所有的事務(wù)*/
EventEmitter.prototype.getEvents = function () {
return this.events || (this.events = {});
}
/*獲取某個實踐的所有觸發(fā)函數(shù)*/
EventEmitter.prototype.getListeners = function (evt) {
var events = this.getEvents();
return events[evt] || (events[evt] = []);
};
/**
注冊實踐觸發(fā)函數(shù)
evet:事件名稱
listener:事件監(jiān)聽函數(shù)
time:可選咒循,選擇可以觸發(fā)的次數(shù)清焕,-1表示無數(shù)次痰滋,默認(rèn)為-1
**/
EventEmitter.prototype.on = function (evt, listener, time) {
time = typeof (time) == 'number' ? time : -1;
time = time >= -1 ? time : -1;
var listeners = this.getListeners(evt);
var listenerWrapper = {
listener: listener,
time: time,
};
listeners.push(listenerWrapper);
return this;
};
EventEmitter.prototype.once = function (evt, listener) {
return this.on(evt, listener, 0);
};
/*移除事件的所有監(jiān)聽函數(shù)*/
EventEmitter.prototype.off = function (evt) {
var events = this.getEvents();
events[evt] = [];
};
/**
觸發(fā)事件
**/
EventEmitter.prototype.trigger = function (evt, args) {
var listeners = this.getListeners(evt);
for (var i = 0; i < listeners.length; i++) {
var listener = listeners[i];
if (listener.time != -1) {
listener.time--;
}
if (listener.time == 0) {
this.removeListener(evt, listener.listener); //可以同步或異步執(zhí)行
}
listener.listener.apply(this, args || []);
}
};