欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS實(shí)用的動(dòng)畫彈出層效果實(shí)例

 更新時(shí)間:2015年05月05日 11:51:39   作者:休閑生活文化  
這篇文章主要介紹了JS實(shí)用的動(dòng)畫彈出層效果,實(shí)例分析了javascript實(shí)現(xiàn)動(dòng)畫效果彈出層的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了JS實(shí)用的動(dòng)畫彈出層效果的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>動(dòng)畫彈出層</title>
<style>
.list{
position:relative;;
background:#eee;
border:1px #ccc solid;
margin:10px;
height:30px;
width:100px;
cursor :pointer ;
}
.listShow{
position:relative;
background:#eff;
border:1px #ddd solid;
margin:10px;
height:30px;
width:100px;
cursor :pointer ;
}
.comment{
position:absolute;
left:0;
display:none;
position:absolute;
border:1px #ccc solid;
background:#fee;
width:200px;
height:200px;
overflow:hidden;
z-index:100;
}
</style>
</head>
<body>
<div class="" id="show">
0
</div>
<div class="list" id="list1">1
<div class="comment" id="comment1">內(nèi)容顯示111<br/>
</div>
<div class="list" id="list2">2
<div class="comment" id="comment2">內(nèi)容顯示222</div>
</div>
<div class="list" id="list3">3
<div class="comment" id="comment3">內(nèi)容顯示333</div>
</div>
</body>
</html>
<script>
var zindex=0;
function $id(id){
return document.getElementById(id);
}
var Bind = function(object,fun){
var args = Array.prototype.slice.call(arguments).slice(2);
return function(){
return fun.apply(object,args);
}
}
function addEventHandler(oTarget, sEventType, fnHandler){ 
if(oTarget.addEventListener){
oTarget.addEventListener(sEventType, fnHandler, false);
}
else if(oTarget.attachEvent){
oTarget.attachEvent('on' + sEventType, fnHandler);
}
else{oTarget['on' + sEventType] = fnHandler;}
}
var Shower=function(){
this.list=null;
this.comment=null;
this.moveLeft=80; 
this.moveTop=20;
this.height=150;
this.width=250;
this.time=800;
this.init=function(lisObj,comObj){
this.list=lisObj;
this.comment=comObj;
var _this=this;
this._fnMove=Bind(this,this.move);
(function(){
var obj=_this;
addEventHandler(obj.list,"click",obj._fnMove);
})();
};
this.move=function(){
var _this=this;
var w=0; 
var h=0; 
var height=0; //彈出div的高
var width=0; //彈出div的寬
var t=0;
var startTime = new Date().getTime();//開(kāi)始執(zhí)行的時(shí)間
if(!_this.comment.style.display||_this.comment.style.display=="none"){
_this.comment.style.display="block";
_this.comment.style.height=0+"px";
_this.comment.style.width=0+"px";
_this.list.style.zIndex=++zindex;
_this.list.className="listShow";
var comment=_this.comment.innerHTML; 
_this.comment.innerHTML=""; //去掉顯示內(nèi)容
var timer=setInterval(function(){
var newTime = new Date().getTime();
var timestamp = newTime - startTime;
_this.comment.style.left=Math.ceil(w)+"px";
_this.comment.style.top=Math.ceil(h)+"px";
_this.comment.style.height=height+"px";
_this.comment.style.width=width+"px";
t++;
var change=(Math.pow((timestamp/_this.time-1), 3) +1);
//根據(jù)運(yùn)行時(shí)間得到基礎(chǔ)變化量
w=_this.moveLeft*change;
h=_this.moveTop*change;
height=_this.height*change;
width=_this.width*change;
$id("show").innerHTML=w;
if(w>_this.moveLeft){
clearInterval(timer);
_this.comment.style.left=_this.moveLeft+"px";
_this.comment.style.top=_this.moveTop+"px"; _this.comment.style.height=_this.height+"px";
_this.comment.style.width=_this.width+"px";
_this.comment.innerHTML=comment; //回復(fù)顯示內(nèi)容
}
},1,_this.comment);
}else{
_this.hidden();
}
}
this.hidden=function(){
var _this=this;
var flag=1;
var hiddenTimer=setInterval(function(){
if(flag==1){
_this.comment.style.height=parseInt(_this.comment.style.height)-10+"px";
}else{
_this.comment.style.width=parseInt(_this.comment.style.width)-15+"px";
_this.comment.style.left=parseInt(_this.comment.style.left)+5+"px";
}
if(flag==1 && parseInt(_this.comment.style.height)<10){
flag=-flag;
}
if(parseInt(_this.comment.style.width)<20){
clearInterval(hiddenTimer);
_this.comment.style.left="0px";
_this.comment.style.top="0px";
_this.comment.style.height="0px";
_this.comment.style.width="0px";
_this.comment.style.display="none";
if(_this.list.style.zIndex==zindex){
zindex--;
};
_this.list.style.zIndex=0;
_this.list.className="list";
}
},1)
}
}
window.onload=function(){
//建立各個(gè)菜單對(duì)象
var shower1=new Shower();
shower1.init($id("list1"),$id("comment1"));
var shower2=new Shower();
shower2.init($id("list2"),$id("comment2"));
var shower3=new Shower();
shower3.init($id("list3"),$id("comment3"));
}
</script>

效果如下圖所示:

希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • javascript實(shí)現(xiàn)Table間隔色以及選擇高亮(和動(dòng)態(tài)切換數(shù)據(jù))的方法

    javascript實(shí)現(xiàn)Table間隔色以及選擇高亮(和動(dòng)態(tài)切換數(shù)據(jù))的方法

    這篇文章主要介紹了javascript實(shí)現(xiàn)Table間隔色以及選擇高亮(和動(dòng)態(tài)切換數(shù)據(jù))的方法,涉及javascript表格操作及按鈕實(shí)現(xiàn)表格切換的技巧,需要的朋友可以參考下
    2015-05-05
  • js實(shí)現(xiàn)的下拉框二級(jí)聯(lián)動(dòng)效果

    js實(shí)現(xiàn)的下拉框二級(jí)聯(lián)動(dòng)效果

    這篇文章主要介紹了js實(shí)現(xiàn)的下拉框二級(jí)聯(lián)動(dòng)效果,涉及JavaScript針對(duì)頁(yè)面元素的遍歷與節(jié)點(diǎn)操作相關(guān)技巧,需要的朋友可以參考下
    2016-04-04
  • 詳解適配器在JavaScript中的體現(xiàn)

    詳解適配器在JavaScript中的體現(xiàn)

    在日常開(kāi)發(fā)中,很多時(shí)候會(huì)不經(jīng)意間寫出符合某種設(shè)計(jì)模式的代碼,而適配器其實(shí)在JavaScript中應(yīng)該是比較常見(jiàn)的一種了。這篇文章主要介紹了適配器在JavaScript中的體現(xiàn) ,需要的朋友可以參考下
    2018-09-09
  • 關(guān)于ECharts圖表顯示顏色修改方式

    關(guān)于ECharts圖表顯示顏色修改方式

    這篇文章主要介紹了關(guān)于ECharts圖表顯示顏色修改方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • JavaScript檢測(cè)是否開(kāi)啟了控制臺(tái)(F12調(diào)試工具)

    JavaScript檢測(cè)是否開(kāi)啟了控制臺(tái)(F12調(diào)試工具)

    通過(guò)js來(lái)檢測(cè)開(kāi)發(fā)者工具是否打開(kāi),防止別人惡意調(diào)試我們的代碼,最近我發(fā)現(xiàn)還是有蠻多人去瀏覽那篇文章,所以這里再放出一段代碼,算是個(gè)升級(jí)版吧
    2020-10-10
  • C++中的string類的用法小結(jié)

    C++中的string類的用法小結(jié)

    通過(guò)在網(wǎng)站上的資料搜集,得到了很多關(guān)于string類用法的文檔,通過(guò)對(duì)這些資料的整理和加入一些自己的代碼,就得出了一份比較完整的關(guān)于string類函數(shù)有哪些和怎樣用的文檔了!
    2015-08-08
  • 三種方式獲取XMLHttpRequest對(duì)象

    三種方式獲取XMLHttpRequest對(duì)象

    這篇文章主要介紹了獲取XMLHttpRequest對(duì)象的三種方式,需要的朋友可以參考下
    2014-04-04
  • VSCode 添加自定義注釋的方法(附帶紅色警戒經(jīng)典注釋風(fēng)格)

    VSCode 添加自定義注釋的方法(附帶紅色警戒經(jīng)典注釋風(fēng)格)

    這篇文章主要介紹了VSCode 添加自定義注釋的方法(附帶紅色警戒經(jīng)典注釋風(fēng)格),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 基于Three.js制作一個(gè)3D中國(guó)地圖

    基于Three.js制作一個(gè)3D中國(guó)地圖

    這篇文章主要為大家介紹一個(gè)用Three.js制作的3D中國(guó)地圖,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)three.js有一定幫助,感興趣的可以跟隨小編一起試一試
    2022-01-01
  • 微信小程序聊天功能的示例代碼

    微信小程序聊天功能的示例代碼

    這篇文章主要介紹了微信小程序聊天功能的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01

最新評(píng)論