javascript - js常见的新闻连续滚动
我想大声告诉你
我想大声告诉你 2017-05-19 10:40:12
[JavaScript讨论组]

为什么这里滚动不连续呢

  
  
    
      
    新闻滚动
    

    
    
    

  • 标题标题标题标题标题标题1
  • 标题标题标题标题标题标题2
  • 标题标题标题标题标题标题3
  • 标题标题标题标题标题标题4
  • 标题标题标题标题标题标题5
  • 标题标题标题标题标题标题6
  • 标题标题标题标题标题标题7
  • 标题标题标题标题标题标题8
  • 标题标题标题标题标题标题9

我想大声告诉你
我想大声告诉你

全部回复(3)
世界只因有你

为了看着更加直观。。我加几个css属性

 #marquee {
    overflow: auto;/*为了直观的查看滚动量*/
    border: 2px solid;   
  }
  #marqueecont{
    border: 1px solid  #f55;
  }

然后说下不能连续滚动的原因:

因为你的offsetTop用错了

offsetTop是值当前元素距离offsetParent指定的元素的上侧相对距离。。你这里就是指marqueecont这个元素,但是如果offsetParent没指定,那么marqueecont.offsetTop就是marqueecont和最外层body的上侧相对距离

所以此时marqueecont.offsetTop为100(如果按我加了边框就是102),因为你最上面的顶了个100高的p...

实际你需要完整滚动完一个marqueecont的高度是189...滚动100你就归0了,自然不连续了。。

修改要直接看正常效果就是:

if(marqueecont.offsetHeight<=marquee.scrollTop)

最后你HTML结构最上面的p太多余。。if改为上面那样后可以最上面的100高的p删除

PHP中文网

代码太长, 能把现象录制一个gif图吗?

大家讲道理

建议去看看这个 http://www.cnblogs.com/seven_...
这几个高度是有点不好理解,只是因为太相似[泪]

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号