JS带缓冲效果打开、关闭、移动一个层

<!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" lang="gb2312">

<head>

<title>JavaScript缓冲打开层</title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<style type="text/css">

* { margin:0; padding:0; }

body { margin:5px auto; text-align:center; background:#f0f0f0; }

#d1 { position:absolute; top:20px; left:20px; width:100px; height:60px; border:1px solid #808; }

#d2 { position:absolute; top:100px; left:20px; width:100px; height:60px; border:1px solid #808; }

#open1, #close1, #open2, #close2 { cursor:pointer; background:#ccf; margin:5px; }

#open1, #open2 { display:block; }

#close1, #close2 { display:none; }

</style>

</head>

<body>

<div id="d1">

移动位置

<span id="open1" onclick="fo1()">Open</span>

<span id="close1" onclick="fc1()">Close</span>

</div>

<div id="d2">

改变大小

<span id="open2" onclick="fo2()">Open</span>

<span id="close2" onclick="fc2()">Close</span>

</div>

<div id="debug">AAA</div>

<div><A href="http://www.999jiujiu.com/">http://www.999jiujiu.com/</A></div>

<script type="text/javascript">

//<[CDATA[

var sl = 20; //初始left值

var el = 500; //结束left值

var sw = 100;//初始width值

var ew = 580;//结束width值

var p = 10; //缓冲变量

var t = 20; //时间变量

var d1 = document.getElementById(‘d1‘);

var d2 = document.getElementById(‘d2‘);

var debug = document.getElementById(‘debug‘);

var open1 = document.getElementById(‘open1‘);

var close1 = document.getElementById(‘close1‘);

var open2 = document.getElementById(‘open2‘);

var close2 = document.getElementById(‘close2‘);

function fo1() {

var cl = parseInt(getStyle(d1,‘left‘));
//当前left值

if (cl<el) {

d1.style.left = cl + Math.ceil((el-cl)/p) + ‘px‘;
//当前值+缓冲增量

debug.innerHTML = getStyle(d1,‘left‘);
//cl + ‘px‘;

setTimeout(‘fo1()‘, t);

} else {

d1.style.left = el + ‘px‘;

open1.style.display = ‘none‘;

close1.style.display = ‘block‘;

}

}

function fc1() {

var cl = parseInt(getStyle(d1,‘left‘));
//当前left值

if (cl>sl) {

d1.style.left = cl - Math.ceil((cl-sl)/p) + ‘px‘;
//当前值-缓冲增量

debug.innerHTML = getStyle(d1,‘left‘);
//cl + ‘px‘;

setTimeout(‘fc1()‘, t);

} else {

d1.style.left = sl + ‘px‘;

open1.style.display = ‘block‘;

close1.style.display = ‘none‘;

}

}

function fo2() {

var cw = parseInt(getStyle(d2,‘width‘));
//当前width值

if (cw<ew) {

d2.style.width = cw + Math.ceil((ew-cw)/p) + ‘px‘;
//当前值+缓冲增量

debug.innerHTML = getStyle(d2,‘width‘);
//cw + ‘px‘;

setTimeout(‘fo2()‘, t);

} else {

d2.style.width = ew + ‘px‘;

open2.style.display = ‘none‘;

close2.style.display = ‘block‘;

}

}

function fc2() {

var cw = parseInt(getStyle(d2,‘width‘));
//当前width值

if (cw>sw) {

d2.style.width = cw - Math.ceil((cw-sw)/p) + ‘px‘;
//当前值-缓冲增量

debug.innerHTML = getStyle(d2,‘width‘);
//cw + ‘px‘;

setTimeout(‘fc2()‘, t);

} else {

d2.style.width = sw + ‘px‘;

open2.style.display = ‘block‘;

close2.style.display = ‘none‘;

}

}

function getStyle( elem, name ) {

if (elem.style[name]) { return elem.style[name]; }

else if (elem.currentStyle) { return elem.currentStyle[name]; }

else if (document.defaultView && document.defaultView.getComputedStyle) {

name = name.replace(/([A-Z])/g,"-$1");

name = name.toLowerCase();

var s = document.defaultView.getComputedStyle(elem,"");

return s && s.getPropertyValue(name);

}

else { return null; }

}

//]]>

</script>

</body>

</html>

时间: 2024-08-29 11:00:21

JS带缓冲效果打开、关闭、移动一个层的相关文章

js+css实现带缓冲效果右键弹出菜单

<!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-Typ

JS+CSS打造的仿惠惠网带缓冲效果的图片滚动

<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JS+CSS打造的仿惠惠网带缓冲效果的图片滚动丨上谷战国红|亿诚</title> <style>* {margin:0;paddin

jquery制作弹出层带遮罩效果,点击阴影部分层消失

jquery制作弹出层带遮罩效果,点击阴影部分层消失. 整体还是比较简单的. HTML代码很简单 1 <a href="#" class="big-link" data-reveal-id="myModal" data-animation="fade">jquery点我弹出</a> 2 <div id="myModal" class="reveal-modal&quo

【小松教你手游开发】【unity实用技能】给每个GameObject的打开关闭加上一个渐变

在游戏开发中,经常会因为直接将GameObject,setActive的方式打开关闭,这种方式效果太过生硬而给它加上一个Tween 可能是AlphaTween或者ScaleTween. 再加上一个PlayTween来做控制. 这样子需要在每个GameObject上加上这几个Component不说,还很不好用 所以结合之前用的一个拓展函数的方法,想到一个非常非常方便的方法 (之前的拓展函数文章:http://blog.csdn.net/chrisfxs/article/details/512218

java输入流[Reader,InputStream] 不带缓冲效果的基本流操作。以及中文乱码情况

Reader,InputStream用来读取资源的内容,资源可以是文件或者网络 首先有一个txt文件,文件中的内容如下 File f = new File("文件路径"); FileInputStream fis = new FileInputStream(f);//创建一个输入流,读取f中的内容到程序中来 //System.out.println(fis.read()); byte[] b = new byte[1024];//定义一个数组,保存读取的类容 int hasRead =

网页上下滚动,带缓冲效果,返回顶部

<head> <style type="text/css"> #container{ text-align: left; background-color: #faf7ec; width: 500px; margin: 20px auto 0 auto; padding: 0; font-family:Arial, Helvetica, sans-serif; font-size:12px; } #block0, #block1, #block2, #block

C#中关闭第一个Form窗口,打开另一个新窗口方法

很多同学问怎么关闭一个FORM打开另一个新Form.这个问题最多的是在做登录验证时,使用第一个登录窗 登录成功后要关闭自己,然后打开新窗显示.没想到这个问题在.Net还成了问题,不过依然有很多方法解决. 典型的 Form1 f = new Form1(); f.Show(); this.Close(); 最后的关闭时把整个程序都关闭了 1隐藏法,原理就是把旧窗口隐藏掉,再打开新窗口. //新建一个NewForm窗口(NewForm是自己定义的Form) NewForm fm=new NewFor

自动播放——幻灯片缓冲效果&amp;&amp;带Loading效果的图片切换&amp;&amp;移动效果(按轨迹移动)

<!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-

js简单 图片版时钟,带翻转效果

js简单 图片版时钟,带翻转效果 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>时钟</title> <style type="text/css"> ul,li{ list-style: none; margin: 0; padding: 0; } ul{ position: absolute; left: 2