HTML+CSS+JS實現----小姐姐你喜歡我嗎的程式
分享一個我之前刷知乎,刷出抖音上的一個有意思的視訊,然後我仿照著做了一個網頁版的。
原視訊找不到了,找到一個類似的視訊。
https://zhuanlan.zhihu.com/p/38176547?utm_source=qq&utm_medium=social&utm_oi=861196901310152704
我寫的程式碼,效果類似於第二個視訊,就是點不喜歡按鈕點不到,按鈕會亂跑,只能點喜歡,直接上程式碼:
Git地址:https://github.com/yangss0425/learned.git
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="icon" href="img/xiao.jpg" ype="image/x-icon" />
<title>小姐姐</title>
<!-- <script>
var x2 = Window.clientWidth;
var y2 = window.clientHeight;
document.getElementById("d1").style.offsetWidth = "x2 * 0.5" + 'px';
document.getElementById("d1").style.offsetHeight = "y2 * 0.5" + 'px';
</script> -->
<style>
#d1 {
float: left;
position: relative;
left: 15%;
width: 1000px;
height: 600px;
background-color: rgb(241, 235, 235);
border: 1px solid black;
border-radius: 2%;
margin-top: 2%;
}
#p1 {
display: table;
margin-top: 10%;
margin-left: 32%;
text-align: center;
font-size: 2em;
}
button {
width: 100px;
height: 40px;
font-size: 100%;
/* border-radius: 2%; */
}
#b1 {
position: absolute;
left: 30%;
top: 50%;
}
#b2 {
position: absolute;
left: 50%;
top: 50%;
}
body {
background-color: aqua;
}
</style>
</head>
<body>
<div id="d1">
<p id="p1">
小姐姐你喜歡我嗎?
</p>
<button id="b1">喜歡</button>
<button id="b2">不喜歡</button>
</div>
<script>
var x1 = document.getElementById("d1").clientWidth;
var y1 = document.getElementById("d1").clientHeight;
// var x = document.getElementById("d1").scrollWidth;
// var y = document.getElementById("d1").scrollHeight;
var buttons = document.getElementsByTagName("button");
for (var i = 0; i < buttons.length; i++) {
buttons[i].onmouseover = handleMouseover;
buttons[i].onclick = handleClick;
}
function handleClick(e) {
if (e.target.id == "b1") {
alert("對不起,我是你永遠也得不到的男人!");
}
else if (e.target.id == "b2") {
alert("哎呀!點到了!");
}
}
function handleMouseover(e) {
if (e.target.id == "b1") {
e.target.title = "快點我啊!";
}
else if (e.target.id == "b2") {
var doc = document.getElementById("b2");
// document.getElementById("p1").innerHTML += "<br>" + x1;
// document.getElementById("p1").innerHTML += "<br>" + y1;
// document.getElementById("p1").innerHTML += "<br>" + x;
// document.getElementById("p1").innerHTML += "<br>" + y;
e.target.style.left = Math.random() * (x1 - doc.offsetWidth) + "px";
e.target.style.top = Math.random() * (y1 - doc.offsetHeight) + "px";
/*測試按鈕位置*/
// e.target.style.left = 1000 - 100 + "px";
// e.target.style.top = 600 - 40 + "px";
/*檢視獲取高度寬度 邊框值*/
// alert(document.getElementById("b2").offsetHeight);
// alert(doc.offsetWidth);
/*測試按鈕邊框取值*/
// e.target.style.left = 1000 - doc.offsetWidth + "px";
// e.target.style.top = 600 - doc.offsetHeight + "px";
/*測試隨機位置仍在滑鼠所指位置*/
// e.target.style.left = Math.random() * 100 - doc.offsetWidth + "px";
// e.target.style.top = Math.random() * 60 - doc.offsetHeight + "px";
}
}
</script>
</body>
</html>
再截一張,我自己跑的截圖
程式碼缺點和改進建議:
1、灰色區域的長和寬是固定的,放在另一臺電腦上就不一定適配螢幕了。
改進:讀取電腦螢幕,根據螢幕設定灰色區域的大小。
2,按鈕移動bug,按鈕隨機移動存在理論機率----按鈕的下一次移動恰好在當前滑鼠停留位置之下。
改進:設定隨機移動,移動位置排除當前滑鼠可能停留在按鈕的區域(有點複雜了),
或者,迴圈判斷當前按鈕位置是否在滑鼠停留位置之下,如果是,則按鈕繼續隨機移動,直到結果為否,按鈕暫時停留當前位置,直到下次滑鼠移動到按鈕之上,觸發mouserover事件。
相關文章
- Taro UI開發小程式實現左滑喜歡右滑不喜歡效果UI
- 你喜歡大海我愛過你什麼梗 你喜歡大海我愛過你出處
- 這5個Ansible 模組你喜歡嗎
- 我喜歡於一一!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 川光我喜歡
- 小易喜歡的單詞
- 用Flutter實現一個仿“探探”的左右滑動選擇喜歡/不喜歡的效果Flutter
- 我記得我曾喜歡過冬天
- 小程式實現微信 【我的】介面
- 我最喜歡的一句話
- 我最喜歡的一首詩
- 你可以零侵入式實現小程式的全域性狀態管理嗎
- 為什麼我喜歡JavaScript的Optional ChainingJavaScriptAI
- 我最喜歡的產品管理模板 - Lenny
- 我最喜歡的幾個蘇州美食
- 我喜歡二次元二次元
- 2020年,我發現寫部落格是一種我喜歡的學習方式
- 我為什麼會從程式不喜歡加{}到加{}
- 程式老鳥:我為什麼喜歡敏捷開發框架敏捷框架
- 強化學習在美團“猜你喜歡”的實踐強化學習
- 強化學習在美團「猜你喜歡」的實踐強化學習
- 你知道開發人員最喜歡的Chrome擴充套件有哪些嗎?Chrome套件
- [數字華容道] Html+css+js 實現小遊戲HTMLCSSJS遊戲
- 你是你喜歡的那種領導嗎?(2月讀書筆記《領袖們》)筆記
- 想要更精準的小程式模版訊息推送?我們來幫你實現
- 開放通用Api,總有你喜歡的API
- 你最喜歡的潤唇膏是什麼?
- 我最喜歡的程式之間通訊方式-訊息匯流排
- 開源小程式: 唯美小姐姐
- 【譯】Visual Studio 17.8 中我最喜歡的特性
- 你知道我對你,一對一交友原始碼,不僅僅是喜歡原始碼
- 雷軍:我喜歡並推崇任天堂
- 喜歡的話
- HTML+CSS+JS實現趣味相簿HTMLCSSJS
- 美團“猜你喜歡”深度學習排序模型實踐深度學習排序模型
- 你的程式設計能力從什麼時候開始突飛猛進? 我的回答:2013年,我開始喜歡程式設計了。程式設計
- 喜歡繪畫嗎?Mac上的工具分享來了Mac
- 喜歡賭球的你,可能被AI盯上了AI