实现在屏幕上进行点击就可以创建闪闪发光的星星沾满屏幕
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
* {
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<script>
// 屏幕背景设置为黑色
document.body.style.background = "#000"
// 屏幕加载完html后执行以下操作
window.onload = function() {
// 创建点击事件
document.onclick = function(event) {
// 创建img标签
let img = document.createElement("img")
// img图片源
img.src = "./0.gif"
// 图片位置位绝对位置
img.style.position = "absolute"
// 点击后添加img标签
document.body.appendChild(img)
// 屏幕加载完后执行以下函数
img.onload = function() {
// 获取图片的宽、高设置为常熟
const img_w = parseInt(getComputedStyle(img).width)
const img_h = parseInt(getComputedStyle(img).height)
// 随机获取图片的宽
w = getRandom(20, 200)
// 根据比例设置图片高
h = img_h / img_w * w
// 根据以上的宽高设置图片的宽高
img.style.width=w+"px"
img.style.height=h+"px"
// 图片在屏幕的坐标
img.style.left=(event.pageX-w/2)+"px"
img.style.top=(event.pageY-h/2)+"px"
}
}
// 计算随机数的函数
function getRandom(min,max){
return min+Math.ceil((max-min)*Math.random())
}
}
</script>
</body>
</html>
实现鼠标点击后移动到哪里,相应标签就移动的哪里,鼠标松开后停止移动
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
* {
margin: 0;
padding: 0;
}
div {
width: 100px;
height: 60px;
background-color: red;
border-radius: 50%;
text-align: center;
padding-top: 40px;
}
</style>
</head>
<body>
<div>太阳</div>
<script>
// 获取div标签
let div = document.querySelector("div")
// 设置标签的绝对位置
div.style.position = "absolute"
// 获取div的宽高,转成整形
w = parseInt(getComputedStyle(div).width)
h = parseInt(getComputedStyle(div).height)
// 鼠标点击下去后执行的事件
div.onmousedown = function(event) {
// 点击后鼠标移动的事件
div.onmousemove = function(ev) {
console.log(ev.offsetX)
console.log(ev.offsetY)
div.style.left = (ev.pageX - w / 2) + "px"
div.style.top = (ev.pageY - h / 2) + "px"
}
}
// 鼠标松开后执行停止“上边的移动事件”
div.onmouseup = function() {
div.onmousemove = null
}
</script>
</body>
</html>