跪求JS动态改变层的style.left属性使其水平移动的例子

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跪求JS动态改变层的style.left属性使其水平移动的例子相关的知识,希望对你有一定的参考价值。

层滑动出来,的效果

把层对象传到这几个函数调用就行

function initMoveDiv( style )
block1 = style;
block1.x = block1.top;
block1.left = -500;

function OpenMoveDiv()

//alert(block1.x);
if (block1.x < 5)
block1.x += 10;
block1.right = block1.x;
setTimeout("OpenMoveDiv", 2);


function CloseMoveDiv()

//block1.x = -200;

//block1.left = block1.x
if (block1.x > -200)
block1.x -= 10;
block1.top = block1.x;
setTimeout("CloseMoveDiv()", 2);



或这个 ,也是类似的效果 ,还有点注释

//记录最后一个打开的DIV
var oldDiv = "";

/*显示DIV*/
function showDIV(obj)

var myDIV = document.getElementById(obj);
//alert(obj);
//如果有打开的,先关闭老的DIV
if(oldDiv != "")

closeDiv(oldDiv);

oldDiv = obj; //记录当前打开的DIV
/*获取当前鼠标左键按下后的位置,据此定义DIV显示的位置*/
var leftedge = document.body.clientWidth-event.clientX;
var bottomedge = document.body.clientHeight-event.clientY;

/*如果从鼠标位置到窗口右边的空间小于DIV的宽度,就定位DIV的左坐标(Left)为当前鼠标位置向左一个DIV宽度*/
if (leftedge < myDIV.offsetWidth)

myDIV.style.left = document.body.scrollLeft + event.clientX - myDIV.offsetWidth;

else

/*否则,就定位DIV的左坐标为当前鼠标位置*/
myDIV.style.left = document.body.scrollLeft + event.clientX;


/*如果从鼠标位置到窗口下边的空间小于DIV的高度,就定位DIV的上坐标(Top)为当前鼠标位置向上一个DIV高度*/
if (bottomedge < myDIV.offsetHeight)

myDIV.style.top = document.body.scrollTop + event.clientY - myDIV.offsetHeight;

else

/*否则,就定位DIV的上坐标为当前鼠标位置*/
myDIV.style.top = document.body.scrollTop + event.clientY;


/*设置DIV可见*/
myDIV.style.display = "block";


function closeDiv(obj)

var o = document.getElementById(obj).style.display='none';
//清空当前打开的DIV
oldDiv = "";
参考技术A 看了下,前面2个都不是你要的,现写给你的,可以跑
<body>
<div id="moveDiv" style="width:100px;height:100px;border:1px solid black;left:600px;position:absolute"></div>
<script type="text/javascript">
function doMove()
var _div=document.getElementById("moveDiv");
var _curLeft=parseInt(_div.style.left);
var _distance=5;
if (_curLeft-_distance>0)
_div.style.left=(_curLeft-_distance)+"px";
window.setTimeout("doMove()",50);


doMove();
</script>
</body>本回答被提问者采纳
参考技术B <script language="javascript">
function test()

var aaa=document.getElementById("aaa")
a=eval(20)
aaa.scrollLeft+=a

</script>
<input type="button" value="点下" onclick="test()">
<div id="aaa" style="background-color:#ff6644; position:absolute; left:170px; top:100px;width:300;height:300;overflow:scroll"
onclick="alert('offsetLeft:'+this.offsetLeft)">
<div style="height:600;width:600" onclick="alert('offsetLeft:'+this.offsetLeft)"></div>
</div>

看这样的例子能帮到你不,剩下的自己研究了

以上是关于跪求JS动态改变层的style.left属性使其水平移动的例子的主要内容,如果未能解决你的问题,请参考以下文章

offsetLeft 和 style.left

在JS里动态生成DIV的问题

js 获取和设置css3 属性值的实现方法

js 获取和设置css3 属性值的实现方法

跪求解答js的问题,动态添加的html元素怎么调用js方法?

js动态改变样式属性(style属性)