怎么修改内容中的代码使对象一直往屏幕左边移啊??

mywindyboy 2008-02-27 01:20:00
if(followObj.offsetLeft!=(document.body.scrollLeft+followObj_x)) {
   var dx=(document.body.scrollLeft+followObj_x-followObj.offsetLeft)*delta;
   dx=(dx>0?1:-1)*Math.ceil(Math.abs(dx));
   followObj.style.left=followObj.offsetLeft+dx;
   }

这是把对象一直往右边移的代码,我想往左边移动,应该怎么改呢?
...全文
125 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mywindyboy 2008-02-28
  • 打赏
  • 举报
回复
就是实现一张图片在最后边固定不动,另外一张由右到左移动到最左边。

不在一个层啊,创建的时候根据
document.write(' <DIV id='+id+' style="Z-INDEX: 10; POSITION: absolute; width:80px; height:60px;left:'+(typeof(x)=='string'?eval(x):x)+';top:'+(typeof(y)=='string'?eval

(y):y)+'"> '+content+' </DIV> ');
创建的

我下载的代码,原始的是从左移动到右
  • 打赏
  • 举报
回复
不明白你的意思!!你的2张图片要是在一个层!!那肯定不行!!

要分开放不同的层!固定的固定!
No_Data_Found 2008-02-28
  • 打赏
  • 举报
回复
followObj.style.left=followObj.offsetLeft-dx;
mywindyboy 2008-02-28
  • 打赏
  • 举报
回复
帮帮忙啊。
mywindyboy 2008-02-27
  • 打赏
  • 举报
回复
if(followObj.offsetLeft!=0) {
   var dx=followObj.offsetLeft*delta;
   dx=(dx>0?1:-1)*Math.ceil(Math.abs(dx));
   followObj.style.left=followObj.offsetLeft-dx;
   }
我改成这个样子了,可以移动了。

但是我要固定其中一张图片在最右边,却不行啊,最左边的倒是一直没动。

javascript文件:
var delta=0.015;
var collection;
var closeB=false;
function floaters() {
 this.items = [];
 this.addItem = function(id,x,y,content)
   {
   document.write('<DIV id='+id+' style="Z-INDEX: 10; POSITION: absolute; width:80px; height:60px;left:'+(typeof(x)=='string'?eval(x):x)+';top:'+(typeof(y)=='string'?eval

(y):y)+'">'+content+'</DIV>');
  
   var newItem  = {};
   newItem.object  = document.getElementById(id);
   newItem.x  = x;
   newItem.y  = y;

   this.items[this.items.length] = newItem;
   }
 this.play = function()
   {
   collection  = this.items
   setInterval('play()',30);
   }
 }
 function play()
 {
  if(screen.width<=800 || closeB)
  {
  for(var i=0;i<collection.length;i++)
  {
   collection[i].object.style.display = 'none';
  }
  return;
  }
  for(var i=0;i<collection.length;i++)
  {
  var followObj = collection[i].object;
  var followObj_x = (typeof(collection[i].x)=='string'?eval(collection[i].x):collection[i].x);
  var followObj_y = (typeof(collection[i].y)=='string'?eval(collection[i].y):collection[i].y);

  if(followObj.offsetLeft!=0) {
   var dx=followObj.offsetLeft*delta;
   dx=(dx>0?1:-1)*Math.ceil(Math.abs(dx));
   followObj.style.left=followObj.offsetLeft-dx;
   }


  if(followObj.offsetTop!=(document.body.scrollTop+followObj_y)) {
   var dy=(document.body.scrollTop+followObj_y-followObj.offsetTop)*delta;
   dy=(dy>0?1:-1)*Math.ceil(Math.abs(dy));
   followObj.style.top=followObj.offsetTop+dy;
   }
  followObj.style.display = '';
  }
 }
 function closeBanner()
 {
  closeB=true;
  return;
 }

var theFloaters = new floaters();
//
theFloaters.addItem('followDiv1',0,150,'<a target=_blank><img src=left1.jpg width=100 height=500 border=0></a><br>');
theFloaters.addItem('followDiv2','document.body.clientWidth-100',150,'<a target=_blank><img src=right1.jpg width=100 height=500 border=0 ></a><br>');
theFloaters.play();
myvicy 2008-02-27
  • 打赏
  • 举报
回复
document.body.scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离。
followObj_x 这个应该是对象在文档中的坐标
followObj.offsetLeft 获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置。followObj.style.left 设置或获取对象相对于文档层次中下个定位对象的左边界的位置。
mywindyboy 2008-02-27
  • 打赏
  • 举报
回复
不是这么简单吧,有计算的啊。

document.body.scrollLeft
followObj_x
followObj.offsetLeft
followObj.style.left
或者说说上面四个参数是什么意思也行。

哦,还有几个定义
var followObj = collection[i].object;
  var followObj_x = (typeof(collection[i].x)=='string'?eval(collection[i].x):collection[i].x);
  var followObj_y = (typeof(collection[i].y)=='string'?eval(collection[i].y):collection[i].y);
if(followObj.offsetLeft!=(document.body.scrollLeft+followObj_x)) {
   var dx=(document.body.scrollLeft+followObj_x-followObj.offsetLeft)*delta;
   dx=(dx> 0?1:-1)*Math.ceil(Math.abs(dx));
   followObj.style.left=followObj.offsetLeft+dx;
   }

西安风影 2008-02-27
  • 打赏
  • 举报
回复
把所有left改成right

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧