| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3758 人关注过本帖
标题:一个小问题,希望可以解决,谢谢
只看楼主 加入收藏
yuanlue
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-4-11
收藏
 问题点数:0 回复次数:2 
一个小问题,希望可以解决,谢谢
<script language="javascript">
var le=0;
function test(){
    var txt=document.createElement('div');     
    txt.style.background="black";
    txt.style.width="10px"
    txt.style.height="10px"
    txt.id="zidan";
    txt.style.position="absolute"
    txt.style.left="10px"
   
    document.body.appendChild(txt);
   
    }
   
 

function test2(){
   

   
  abc=document.getElementById('zidan').style.left;
  
  len=parseInt(abc.substr(0,abc.length-2)); //去掉px  10
  
  zidan.style.left=parseInt((len+10))+'px'

  }

  
 window.setInterval("test2()",1000)



这个代码我是想设置一个类似于子弹的效果,通过添加动态节点(一个div)然后在用定时器控制这个div的移动。但是问题来了,为什么第二次添加动态节点后,不会被test2函数监听, 望解答



2016-04-11 16:40
yuanlue
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-4-11
收藏
得分:0 
第一个动态节点运行正常,但是第二个动态节点就不能触发,是因为id名字吗 那要怎么样在第二个函数中来获取第一个函数的动态节点。而且不是说id唯一会被替换吗?
2016-04-11 16:41
linuxpluto
Rank: 4
等 级:贵宾
威 望:13
帖 子:889
专家分:23
注 册:2005-8-14
收藏
得分:0 
搞清楚id属性的概念,我猜你有个循环来执行test(),那么多个div公有id名,test2()中只能找到一个id是zidan的div,其他的都忽略

做如下修改,对应的地方在改一下。。
txt.name="zidan";
document.getElementsByName('zidan');

吃的比猪还差,干的比驴还累,起的比鸡还早,睡得比小姐还晚,挣得比民工还少,看起来比谁都好——苦命的人.人生短短几十年,不要给自己留下了什么遗憾,想笑就笑,想哭就哭,该爱的时候就去爱,无谓压抑自己
2016-05-06 15:51
快速回复:一个小问题,希望可以解决,谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023455 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved