js仿360開(kāi)機(jī)效果
本文實(shí)例為大家分享了js仿360開(kāi)機(jī)效果的具體代碼,供大家參考,具體內(nèi)容如下
實(shí)現(xiàn)效果:
1.點(diǎn)擊關(guān)閉圖片按鈕先往下退出再往右退出
實(shí)現(xiàn)步驟:
1.封裝運(yùn)動(dòng)函數(shù)
2.給圖片上的關(guān)閉設(shè)置一個(gè)盒子
3.給關(guān)閉盒子注冊(cè)點(diǎn)擊事件點(diǎn)擊后
4.下面圖片高度為0,設(shè)置一個(gè)緩動(dòng)動(dòng)畫(huà)
5.上面圖片寬度為0,設(shè)置一個(gè)緩動(dòng)動(dòng)畫(huà)
緩動(dòng)動(dòng)畫(huà)代碼(帶回調(diào)函數(shù)):`
function getStyle(obj,attr){ //兼容性寫(xiě)法獲得樣式
if(window.getComputedStyle){
return window.getComputedStyle(obj, null)[attr];
}else{
return obj.currentStyle[attr];
}
}
function animate(obj, json, speed, callback){
clearInterval(obj.timer);
obj.timer = setInterval(function(){
var flag = true;
for(var attr in json){
var current = parseInt(getStyle(obj,attr));
var step = (json[attr] - current) / 10;
step = step > 0 ? Math.ceil(step) : Math.floor(step);
obj.style[attr] = current + step +'px';
if(current != json[attr]){
flag = false;
}
}
if(flag){
clearInterval(obj.timer);
if(callback && typeof callback == 'function'){ //驗(yàn)證callback是否傳遞,傳遞的話看是否是函數(shù)類型
callback();
}
}
},speed);
}
開(kāi)機(jī)圖片,的由兩個(gè)圖片中組成
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
.box{
width: 322px;
position: fixed;
bottom:0;
right:0;
}
span{
position: absolute;
top:0;
right:0;
width:30px;
height: 20px;
cursor: pointer;
}
.box img{
vertical-align: top;
}
</style>
<script type="text/javascript" src="函數(shù)封裝.js"></script>
<script type="text/javascript">
function $(id){
return document.getElementById(id);
}
window.onload = function(){
var span = document.getElementsByTagName('span')[0];
var box = $('box');
var bottom = $('bt');
var top = $('hd');
span.onclick = function(){
var json = {"height": 0};
animate(bottom,json,20,function(){
animate(box,{"width":0},20);
});
}
}
</script>
</head>
<body>
<div class="box" id="box">
<span></span>
<div class="hd" id="hd">
<img src="images/t.jpg" alt=""/>
</div>
<div class="bd" id="bt">
<img src="images/b.jpg" alt=""/>
</div>
</div>
</body>
</html>
效果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript常見(jiàn)事件處理程序?qū)嵗偨Y(jié)
這篇文章主要介紹了JavaScript常見(jiàn)事件處理程序,結(jié)合實(shí)例形式總結(jié)分析了javascript HTML事件、DOM事件、IE事件等相關(guān)處理程序與操作技巧,需要的朋友可以參考下2019-01-01
JS實(shí)現(xiàn)即點(diǎn)即編輯功能代碼
以前在網(wǎng)上都看到過(guò)類似的功能,不過(guò)沒(méi)自己想要實(shí)現(xiàn)過(guò),這次剛好做靜態(tài)頁(yè)面中有這樣的一個(gè)需求,就試著自己做做看,做完發(fā)現(xiàn)也不是什么很難的事情。2008-10-10
js和C# 時(shí)間日期格式轉(zhuǎn)換的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇js和C# 時(shí)間日期格式轉(zhuǎn)換的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05
基于JS實(shí)現(xiàn)仿京東搜索欄隨滑動(dòng)透明度漸變效果
這篇文章主要介紹了基于JS實(shí)現(xiàn)仿京東搜索欄隨滑動(dòng)透明度漸變效果,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-07-07
通過(guò)復(fù)制Table生成word和excel的javascript代碼
通過(guò)復(fù)制Table生成word和excel,個(gè)人感覺(jué)這個(gè)功能還是比較實(shí)用的,下面有個(gè)不錯(cuò)的示例,希望對(duì)大家有所幫助2014-01-01
在線一元二次方程計(jì)算器實(shí)例(方程計(jì)算器在線計(jì)算)
在線一元二次方程式計(jì)算器實(shí)例分享,大家參考使用吧2013-12-12
微信公眾號(hào)服務(wù)器驗(yàn)證Token步驟圖解
這篇文章主要介紹了微信公眾號(hào)服務(wù)器驗(yàn)證Token步驟圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12

