js實(shí)現(xiàn)4個(gè)方向滾動(dòng)的球
效果圖:

代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
*{
margin: 0;
padding: 0;
}
#wrap{
width: 800px;
height: 500px;
border: 1px solid deeppink;
margin-left: 10px;
margin-top: 5px;
float: left;
}
#input1{
width: 80px;
margin: 5px auto 5px 10px;
font-size: 0;
float: left;
}
#div1{
width: 100px;
height: 100px;
background: hotpink;
position: absolute;
top: 20px;
left: 30px;
border-radius: 100px;
box-shadow: 0px 5px 5px rgba(0,0,0,.5);
}
input{
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 18px;
display: block;
background: palegreen;
margin-bottom: 5px;
}
</style>
</head>
<body>
<div id="wrap">
<div id="div1"></div>
</div>
<div id="input1">
<input type="button" value="向左" id="btn2" />
<input type="button" value="向右" id="btn1"/>
<input type="button" value="向上" id="btn3" />
<input type="button" value="向下" id="btn4"/>
</div>
<script>
var oBtn=document.getElementById('btn1');
var oDiv=document.getElementById('div1');
var oBtn2=document.getElementById('btn2');
var oBtn3=document.getElementById('btn3');
var oBtn4=document.getElementById('btn4');
oBtn4.onclick=function(){
move(oDiv,10,380,'0px 5px 5px rgba(0,0,0,.5)','top');
}
oBtn3.onclick=function(){
move(oDiv,-10,30,'0px -5px 5px rgba(0,0,0,.5)','top');
}
oBtn2.onclick=function(){
move(oDiv,-10,40,'-5px 5px 5px rgba(0,0,0,.5)','left');
}
oBtn.onclick=function(){
move(oDiv,10,680,'5px 5px 5px rgba(0,0,0,.5)','left');
}
function move(obj,val,target,bs,dir){
obj.style.boxShadow=bs;
clearInterval(obj.timer);
obj.timer=setInterval(function(){
var speed=parseInt(getStyle(obj,dir))+val;
if(speed>=target&&val>0){
speed=target;
}
if(speed<=target&&val<0){
speed=target
}
obj.style[dir]=speed+'px';
if(speed==target){
clearInterval(obj.timer);
}
},30);
}
function getStyle(obj,sty){
return obj.currentStyle?obj.currentStyle[sty]:getComputedStyle(obj)[sty];
}
</script>
</body>
</html>
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
使用dynatrace-ajax跟蹤JavaScript的性能
DynaTrace 致力于分析后臺(tái)應(yīng)用性能的表現(xiàn)已經(jīng)好幾年了,最近,他們通過發(fā)布dynaTrace Ajax Edition進(jìn)入了前端性能分析領(lǐng)域. 它是一個(gè)運(yùn)行在IE下的BHO免費(fèi)工具. 雖然我喜歡Firefox和它下面的所有插件,但我知道基于IE的測(cè)試和調(diào)試也是很重要的。2010-04-04
js實(shí)現(xiàn)可以點(diǎn)擊收縮或張開的懸浮窗
這篇文章主要介紹了js實(shí)現(xiàn)可以點(diǎn)擊收縮或張開的懸浮窗效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09
微信小程序商城項(xiàng)目之側(cè)欄分類效果(1)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崙?zhàn)商城系列之側(cè)欄分類效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
JavaScript 獲取 URL 中參數(shù)值的方法詳解(最新整理)
本文將詳細(xì)介紹幾種在 JavaScript 中獲取 URL 參數(shù)值的方法,包括現(xiàn)代瀏覽器支持的 URLSearchParams、正則表達(dá)式解析以及自定義函數(shù)解析方案,并討論各自的優(yōu)缺點(diǎn)及適用場(chǎng)景,感興趣的朋友一起看看吧2025-04-04
禁止彈窗中蒙層底部頁(yè)面跟隨滾動(dòng)的幾種方法
我們大家在做彈出層的時(shí)候,必不可少的一個(gè)元素就是蒙層,也就是遮罩層,當(dāng)彈出層滾動(dòng)的時(shí)候,蒙層底部的頁(yè)面一般是要求固定不動(dòng)的,所以這篇文章就來給大家介紹了如何禁止彈窗中蒙層底部頁(yè)面跟隨滾動(dòng)的幾種方法,需要的朋友可以參考下。2017-12-12
3分鐘教你用JavaScript實(shí)現(xiàn)電子簽名效果
電子簽名已經(jīng)成為現(xiàn)代商業(yè)中不可或缺的一部分,它可以提高業(yè)務(wù)流程的效率和安全性。本文將介紹如何使用HTML5的canvas元素和JavaScript在前端實(shí)現(xiàn)電子簽名,需要的可以參考一下2023-04-04
vue基于ElementUI動(dòng)態(tài)設(shè)置表格高度的3種方法
ElementUI+vue動(dòng)態(tài)設(shè)置表格高度的幾種方法,拋磚引玉,還有其它方法動(dòng)態(tài)設(shè)置表格高度,大家可以開動(dòng)腦筋2025-02-02
javascript 保存文件到本地實(shí)現(xiàn)方法
本文將提供兩種方式保存圖片,大家可以根據(jù)喜歡自由選擇2012-11-11
jscript之List Excel Color Values
jscript之List Excel Color Values...2007-06-06

