<!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>Document</title>
<script src="move2.js"></script>
<style>
#div1 {
width: 100px;
height: 100px;
background: lightcoral;
opacity: 0.3;
}
</style>
</head>
<script>
window.onload = function () {
var oDiv = document.getElementById('div1');
oDiv.onmouseover = function () {
startMove(oDiv, 'width', 300, function () {
startMove(oDiv, 'height', 300, function () {
startMove(oDiv, 'opacity', 100);
});
})
}
oDiv.onmouseout = function () {
startMove(oDiv, 'opacity', 30, function () {
startMove(oDiv, 'height', 100, function () {
startMove(oDiv, 'width', 100);
});
})
}
}
</script>
<body>
<div id="div1"></div>
</body>
</html>
多个值同时变化
json的循环只能用for…in
html
<!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>Document</title>
<script src="move3.js"></script>
<style>
#div1 {
width: 100px;
height: 100px;
background: lightcoral;
opacity: 0.3;
opacity: 0.3;
}
</style>
</head>
<script>
window.onload = function () {
var oDiv = document.getElementById('div1');
var oBtn = document.getElementById('btn1');
oBtn.onclick = function () {
startMove(oDiv, {
width: 102,
height: 400,
opacity: 100
})
}
}
</script>
<body>
<input type="button" id="btn1" value="运动">
<div id="div1"></div>
</body>
</html>
move3.js
// 完美运动框架
function getStyle(obj, name) {
return getComputedStyle(obj, false)[name];
}
// startMove(oDiv, {width: 400; height: 400})
function startMove(obj, json, fnEnd) {
clearInterval(obj.timer);
obj.timer = setInterval(function () {
var bStop = true; // 假设所有要改变的值都已经改变了
for (const attr in json) {
var cur = 0;
if (attr === "opacity") {
cur = parseFloat(getStyle(obj, attr)) * 100;
} else {
cur = parseInt(getStyle(obj, attr));
}
var speed = (json[attr] - cur) / 6;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (cur !== json[attr]) bStop = false;
if (attr === 'opacity') {
obj.style.opacity = (cur + speed) / 100;
} else {
obj.style[attr] = cur + speed + 'px';
}
}
if (bStop) {
clearInterval(obj.timer);
if (fnEnd) fnEnd();
}
}, 30)
}
如果想给整个页面加事件的话,就要给document加,而不是给document.body加
<script>
window.onload = function () {
document.onclick = function () {
alert('aaa');
}
}
</script>
var oEvent = ev || event;
<script>
window.onload = function () {
// document.onclick = function () {
document.onclick = function (ev) {
// IE
// alert(event.clientX + ', ' + event.clientY);
// FF 需要给function传递一个ev参数
// alert(ev.clientX+ ', ' + ev.clientY);
// 兼容写法
var oEvent = ev || event;
alert(oEvent.clientX+ ', ' + oEvent.clientY);
}
}
</script>
<!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>Document</title>
<script src="move3.js"></script>
<style>
div {
width: 10px;
height: 10px;
background: lightcoral;
position: absolute;
}
</style>
</head>
<script>
function getPos(ev) {
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;
return {
x: ev.clientX + scrollLeft,
y: ev.clientY + scrollTop
}
}
document.onmousemove = function (ev) {
var aDiv = document.getElementsByTagName('div');
var oEvent = ev || event;
// 获取鼠标坐标
var pos = getPos(oEvent);
for (var i = aDiv.length - 1; i > 0; i--) {
aDiv[i].style.left = aDiv[i - 1].offsetLeft + 'px';
aDiv[i].style.top = aDiv[i - 1].offsetTop + 'px';
}
aDiv[0].style.left = pos.x + 'px';
aDiv[0].style.top = pos.y + 'px';
}
</script>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</body>
</html>
<script>
document.onkeydown = function (ev) {
var oEvent = ev || event;
var oDiv = document.getElementById('div1');
if (oEvent.keyCode == 37) {
oDiv.style.left = oDiv.offsetLeft - 10 + 'px';
} else if (oEvent.keyCode == 39) {
oDiv.style.left = oDiv.offsetLeft + 10 + 'px';
}
}
</script>
<body>
<div id="div1"></div>
</body>
<script>
window.onload = function () {
var oTxt1 = document.getElementById('txt1');
var oTxt2 = document.getElementById('txt2');
var oBtn = document.getElementById('btn1');
oBtn.onclick = function () {
oTxt2.value += oTxt1.value + '\n';
oTxt1.value = '';
}
oTxt1.onkeydown = function (ev) {
var oEvent = ev || event;
if (oEvent.keyCode === 13) {
// if (oEvent.keyCode === 13 && oEvent.ctrlKey) {
oTxt2.value += oTxt1.value + '\n';
oTxt1.value = '';
}
}
}
</script>
<body>
<input type="text" id="txt1">
<input type="button" value="publish" id="btn1">
<br>
<textarea id="txt2" cols="30" rows="10"></textarea>
</body>
<!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>Document</title>
<script src="move3.js"></script>
<style>
* {
margin: 0;
padding: 0;
list-style: none;
}
#div1 {
width: 80px;
background: lightcoral;
position: absolute;
border: 1px solid #ccc;
display: none;
}
</style>
</head>
<script>
document.oncontextmenu = function (ev) {
// 自定义右键菜单事件
var oEvent = ev || event;
var oDiv = document.getElementById('div1');
oDiv.style.display = 'block';
oDiv.style.left = oEvent.clientX + 'px';
oDiv.style.top = oEvent.clientY + 'px';
// 阻止默认右键菜单事件
return false;
}
document.onclick = function () {
var oDiv = document.getElementById('div1');
oDiv.style.display = 'none';
}
</script>
<body>
<div id="div1">
<ul>
<li>aaa</li>
<li>bbb</li>
<li>ccc</li>
</ul>
</div>
</body>
</html>
<script>
window.onload = function () {
var oTxt = document.getElementById('txt1');
oTxt.onkeydown = function(ev){
var oEvent = ev || event;
// keyCode 的值在 48-57之间的就是数字
// keyCode 的值为8的时候为删除间
if(oEvent.keyCode != 8 && oEvent.keyCode < 48 || oEvent.keyCode > 57){
return false;
}
}
}
</script>
<body>
<input type="text" id="txt1">
</body>
原有拖拽的问题
<!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>Document</title>
<script src="move3.js"></script>
<style>
#div1 {
width: 200px;
height: 200px;
position: absolute;
background: lightseagreen;
}
</style>
</head>
<script>
// 拖拽就是鼠标和要拖拽的div的左上角的距离不变
window.onload = function () {
var oDiv = document.getElementById('div1');
var disX = 0;
var disY = 0;
oDiv.onmousedown = function (ev) {
var oEvent = ev || event;
disX = oEvent.clientX - oDiv.offsetLeft;
disY = oEvent.clientY - oDiv.offsetTop;
document.onmousemove = function (ev) {
var oEvent = ev || event;
var l = oEvent.clientX - disX;
var t = oEvent.clientY - disY;
// 防止拖出去
if (l < 0) {
l = 0;
} else if (l > document.documentElement.clientWidth - oDiv.offsetWidth) {
l = document.documentElement.clientWidth - oDiv.offsetWidth
}
if (t < 0) {
t = 0;
} else if (t > document.documentElement.clientHeight - oDiv.offsetHeight) {
t = document.documentElement.clientHeight - oDiv.offsetHeight
}
oDiv.style.left = l + 'px';
oDiv.style.top = t + 'px';
}
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
}
return false;
}
}
</script>
<body>
<div id="div1"></div>
</body>
</html>
IE事件绑定
DOM方式(Chrome,FF)
简单绑定
<script>
window.onload = function () {
var oBtn = document.getElementById('btn1');
if (oBtn.attachEvent) {
// attachEvent(事件名,函数)
// 在IE下可以用attachEvent
oBtn.attachEvent('onclick', function () {
alert('a');
})
oBtn.attachEvent('onclick', function () {
alert('b');
})
} else {
// addEventListener(事件名,函数,false)
// 在Chrome和FF中可以用addEventListener
oBtn.addEventListener('click', function () {
alert('a');
}, false)
oBtn.addEventListener('click', function () {
alert('b');
}, false)
}
}
</script>
<body>
<input id="btn1" type="button" value="事件">
</body>
<script>
function myAddEvent(obj, ev, fn) {
if (obj.attachEvent) {
obj.addEvent('on' + ev, fn)
} else {
obj.addEventListener(ev, fn, false);
}
}
window.onload = function () {
var oBtn = document.getElementById('btn1');
myAddEvent(oBtn, 'click', function () {
alert('a');
})
myAddEvent(oBtn, 'click', function () {
alert('b');
})
}
</script>
<body>
<input id="btn1" type="button" value="事件">
</body>
拖拽原理
限制范围
<!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>Document</title>
<script src="move3.js"></script>
<style>
#div1 {
width: 100px;
height: 100px;
position: absolute;
background: lightseagreen;
}
#div2 {
width: 400px;
height: 300px;
background: #ccc;
position: relative;
}
</style>
</head>
<script>
// 拖拽就是鼠标和要拖拽的div的左上角的距离不变
window.onload = function () {
var oDiv = document.getElementById('div1');
var oDiv2 = document.getElementById('div2');
var disX = 0;
var disY = 0;
oDiv.onmousedown = function (ev) {
var oEvent = ev || event;
disX = oEvent.clientX - oDiv.offsetLeft;
disY = oEvent.clientY - oDiv.offsetTop;
document.onmousemove = function (ev) {
var oEvent = ev || event;
var l = oEvent.clientX - disX;
var t = oEvent.clientY - disY;
// 防止拖出去
if (l < 0) {
l = 0;
} else if (l > oDiv2.offsetWidth - oDiv.offsetWidth) {
l = oDiv2.offsetWidth - oDiv.offsetWidth
}
if (t < 0) {
t = 0;
} else if (t > oDiv2.offsetHeight - oDiv.offsetHeight) {
t = oDiv2.offsetHeight - oDiv.offsetHeight
}
oDiv.style.left = l + 'px';
oDiv.style.top = t + 'px';
}
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
}
return false;
}
}
</script>
<body>
<div id="div2">
<div id="div1"></div>
</div>
</body>
</html>
<!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>Document</title>
<script src="move3.js"></script>
<style>
#div1 {
width: 100px;
height: 100px;
position: absolute;
background: lightseagreen;
}
#div2 {
width: 800px;
height: 500px;
background: #ccc;
position: relative;
}
</style>
</head>
<script>
// 拖拽就是鼠标和要拖拽的div的左上角的距离不变
window.onload = function () {
var oDiv = document.getElementById('div1');
var oDiv2 = document.getElementById('div2');
var disX = 0;
var disY = 0;
oDiv.onmousedown = function (ev) {
var oEvent = ev || event;
disX = oEvent.clientX - oDiv.offsetLeft;
disY = oEvent.clientY - oDiv.offsetTop;
document.onmousemove = function (ev) {
var oEvent = ev || event;
var l = oEvent.clientX - disX;
var t = oEvent.clientY - disY;
// 防止拖出去
if (l < 50) {
// 这样会有吸附的效果:当与左侧的距离<50的时候,就自动吸上去
l = 0;
} else if (l > oDiv2.offsetWidth - oDiv.offsetWidth) {
l = oDiv2.offsetWidth - oDiv.offsetWidth
}
if (t < 50) {
t = 0;
} else if (t > oDiv2.offsetHeight - oDiv.offsetHeight) {
t = oDiv2.offsetHeight - oDiv.offsetHeight
}
oDiv.style.left = l + 'px';
oDiv.style.top = t + 'px';
}
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
}
return false;
}
}
</script>
<body>
<div id="div2">
<div id="div1"></div>
</div>
</body>
</html>
阻止默认事件:return false;
阻止默认事件:return false;
但是IE下面拖动会有问题,所以可以在这里用到 setCapture()
setCapture()是IE浏览器专用的
这块有一个合并代码的操作
<!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>Document</title>
<script src="move3.js"></script>
<style>
#div1 {
width: 200px;
height: 200px;
position: absolute;
background: lightseagreen;
}
</style>
</head>
<script>
// 拖拽就是鼠标和要拖拽的div的左上角的距离不变
window.onload = function () {
var oDiv = document.getElementById('div1');
var disX = 0;
var disY = 0;
oDiv.onmousedown = function (ev) {
var oEvent = ev || event;
disX = oEvent.clientX - oDiv.offsetLeft;
disY = oEvent.clientY - oDiv.offsetTop;
if (oDiv.setCapture) {
oDiv.onmousemove = MouseMove;
oDiv.onmouseup = MouseUp;
oDiv.setCapture();
} else {
document.onmousemove = MouseMove;
document.onmouseup = MouseUp;
}
function MouseMove(ev) {
var oEvent = ev || event;
var l = oEvent.clientX - disX;
var t = oEvent.clientY - disY;
// 防止拖出去
if (l < 0) {
l = 0;
} else if (l > document.documentElement.clientWidth - oDiv.offsetWidth) {
l = document.documentElement.clientWidth - oDiv.offsetWidth
}
if (t < 0) {
t = 0;
} else if (t > document.documentElement.clientHeight - oDiv.offsetHeight) {
t = document.documentElement.clientHeight - oDiv.offsetHeight
}
oDiv.style.left = l + 'px';
oDiv.style.top = t + 'px';
}
function MouseUp() {
// 这里的this指的是oDiv
this.onmousemove = null;
this.onmouseup = null;
if (oDiv.releaseCapture) {
oDiv.releaseCapture();
}
}
// Chrome FF IE9
return false;
}
}
</script>
<body>
cndjsknk<br>
cndknakl
<div id="div1">cndjnak</div>
buebajna
</body>
</html>
<!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>Document</title>
<script src="move3.js"></script>
<style>
#div1 {
width: 200px;
height: 200px;
position: absolute;
background: lightseagreen;
}
.box {
border: 1px dashed black;
position: absolute;
}
</style>
</head>
<script>
// 拖拽就是鼠标和要拖拽的div的左上角的距离不变
window.onload = function () {
var oDiv = document.getElementById('div1');
var disX = 0;
var disY = 0;
oDiv.onmousedown = function (ev) {
var oEvent = ev || event;
disX = oEvent.clientX - oDiv.offsetLeft;
disY = oEvent.clientY - oDiv.offsetTop;
var oBox = document.createElement('div');
oBox.className = 'box';
oBox.style.width = oDiv.offsetWidth - 2 + 'px';
oBox.style.height = oDiv.offsetHeight - 2 + 'px';
oBox.style.left = oDiv.offsetLeft + 'px';
oBox.style.top = oDiv.offsetTop + 'px';
document.body.appendChild(oBox);
if (oDiv.setCapture) {
oDiv.onmousemove = MouseMove;
oDiv.onmouseup = MouseUp;
oDiv.setCapture();
} else {
document.onmousemove = MouseMove;
document.onmouseup = MouseUp;
}
function MouseMove(ev) {
var oEvent = ev || event;
var l = oEvent.clientX - disX;
var t = oEvent.clientY - disY;
// 防止拖出去
if (l < 0) {
l = 0;
} else if (l > document.documentElement.clientWidth - oDiv.offsetWidth) {
l = document.documentElement.clientWidth - oDiv.offsetWidth
}
if (t < 0) {
t = 0;
} else if (t > document.documentElement.clientHeight - oDiv.offsetHeight) {
t = document.documentElement.clientHeight - oDiv.offsetHeight
}
oBox.style.left = l + 'px';
oBox.style.top = t + 'px';
}
function MouseUp() {
// 这里的this指的是oDiv
this.onmousemove = null;
this.onmouseup = null;
oDiv.style.left = oBox.offsetLeft + 'px';
oDiv.style.top = oBox.offsetTop + 'px';
document.body.removeChild(oBox);
if (oDiv.releaseCapture) {
oDiv.releaseCapture();
}
}
// Chrome FF IE9
return false;
}
}
</script>
<body>
<div id="div1"></div>
</body>
</html>
<!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>Document</title>
<style>
#parent {
width: 600px;
height: 20px;
background: #ccc;
position: relative;
margin: 10px auto;
}
#div1 {
width: 20px;
height: 20px;
background: lightsalmon;
position: absolute;
top: 0;
left: 0;
}
#div2 {
width: 300px;
height: 300px;
background: lightsteelblue;
opacity: 0;
}
</style>
</head>
<script>
// 拖拽就是鼠标和要拖拽的div的左上角的距离不变
window.onload = function () {
var oDiv = document.getElementById('div1');
var oParent = document.getElementById('parent');
var oDiv2 = document.getElementById('div2');
var disX = 0;
// var disY = 0;
oDiv.onmousedown = function (ev) {
var oEvent = ev || event;
disX = oEvent.clientX - oDiv.offsetLeft;
// disY = oEvent.clientY - oDiv.offsetTop;
if (oDiv.setCapture) {
oDiv.onmousemove = MouseMove;
oDiv.onmouseup = MouseUp;
oDiv.setCapture();
} else {
document.onmousemove = MouseMove;
document.onmouseup = MouseUp;
}
function MouseMove(ev) {
var oEvent = ev || event;
var l = oEvent.clientX - disX;
// var t = oEvent.clientY - disY;
// 防止拖出去
if (l < 0) {
l = 0;
} else if (l > oParent.offsetWidth - oDiv.offsetWidth) {
l = oParent.offsetWidth - oDiv.offsetWidth;
}
oDiv.style.left = l + 'px';
// 获取滑块拖动的比例
var scale = l / (oParent.offsetWidth - oDiv.offsetWidth);
document.title = scale;
// 通过拖动滑块的比例来控制div2的大小
// oDiv2.style.width = 400 * scale + 'px';
// oDiv2.style.height = 400 * scale + 'px';
// 通过拖动滑块的比例来控制div2的透明度
oDiv2.style.opacity = scale;
}
function MouseUp() {
// 这里的this指的是oDiv
this.onmousemove = null;
this.onmouseup = null;
if (oDiv.releaseCapture) {
oDiv.releaseCapture();
}
}
// Chrome FF IE9
return false;
}
}
</script>
<body>
<div id="parent">
<div id="div1"></div>
</div>
<div id="div2"></div>
</body>
</html>
<!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>Document</title>
<style>
#parent {
width: 600px;
height: 20px;
background: #ccc;
position: relative;
margin: 10px auto;
}
#div1 {
width: 20px;
height: 20px;
background: lightsalmon;
position: absolute;
top: 0;
left: 0;
}
#div2 {
width: 400px;
height: 400px;
border: 1px solid black;
overflow: hidden;
position: relative;
}
#div3 {
position: absolute;
top: 0;
left: 0;
}
</style>
</head>
<script>
// 拖拽就是鼠标和要拖拽的div的左上角的距离不变
window.onload = function () {
var oDiv = document.getElementById('div1');
var oParent = document.getElementById('parent');
var oDiv2 = document.getElementById('div2');
var oDiv3 = document.getElementById('div3');
var disX = 0;
// var disY = 0;
oDiv.onmousedown = function (ev) {
var oEvent = ev || event;
disX = oEvent.clientX - oDiv.offsetLeft;
// disY = oEvent.clientY - oDiv.offsetTop;
if (oDiv.setCapture) {
oDiv.onmousemove = MouseMove;
oDiv.onmouseup = MouseUp;
oDiv.setCapture();
} else {
document.onmousemove = MouseMove;
document.onmouseup = MouseUp;
}
function MouseMove(ev) {
var oEvent = ev || event;
var l = oEvent.clientX - disX;
// var t = oEvent.clientY - disY;
// 防止拖出去
if (l < 0) {
l = 0;
} else if (l > oParent.offsetWidth - oDiv.offsetWidth) {
l = oParent.offsetWidth - oDiv.offsetWidth;
}
oDiv.style.left = l + 'px';
// 获取滑块拖动的比例
var scale = l / (oParent.offsetWidth - oDiv.offsetWidth);
document.title = scale;
// 通过拖动滑块的比例来控制div3
oDiv3.style.top = -scale * (oDiv3.offsetHeight - oDiv2.offsetHeight) + 'px';
}
function MouseUp() {
// 这里的this指的是oDiv
this.onmousemove = null;
this.onmouseup = null;
if (oDiv.releaseCapture) {
oDiv.releaseCapture();
}
}
// Chrome FF IE9
return false;
}
}
</script>
<body>
<div id="parent">
<div id="div1"></div>
</div>
<div id="div2">
<div id="div3">
cbdjsbbiavcwebncdK<br>
hunvugbsancsapcnam<br>
andaencjdmov;cmz<br>
cbdjsbbiavcwebncdK<br>
hunvugbsancsapcnam<br>
andaencjdmov;cmz<br>
cbdjsbbiavcwebncdK<br>
hunvugbsancsapcnam<br>
andaencjdmov;cmz<br>
cbdjsbbiavcwebncdK<br>
hunvugbsancsapcnam<br>
andaencjdmov;cmz<br>
cbdjsbbiavcwebncdK<br>
hunvugbsancsapcnam<br>
andaencjdmov;cmz<br>
cbdjsbbiavcwebncdK<br>
hunvugbsancsapcnam<br>
andaencjdmov;cmz<br>
cbdjsbbiavcwebncdK<br>
hunvugbsancsapcnam<br>
andaencjdmov;cmz<br>
cbdjsbbiavcwebncdK<br>
hunvugbsancsapcnam<br>
andaencjdmov;cmz<br>
cbdjsbbiavcwebncdK<br>
hunvugbsancsapcnam<br>
andaencjdmov;cmz<br>
dmov;cmz<br>
cbdjsbbiavcwebncdK<br>
hunvugbsancsapcnam<br>
andaencjdmov;cmz<br>
cbdjsbbiavcwebncdK<br>
hunvugbsancsapcnam<br>
andaencjdmov;cmz<br>
cbdjsbbiavcwebncdK<br>
hunvugbsancsapcnam<br>
andaencjdmov;cmz<br>
cbdjsbbiavcwebncdK<br>
</div>
</div>
</body>
</html>