开发者社区> 问答> 正文

怎么让一个DIV从屏幕的外侧穿过(弹幕效果)?

代码可以实现弹幕的效果

但是弹幕出场的方式有点奇葩 聚成一团然后才慢慢舒展 有什么方法让弹幕的div从屏幕外穿过?

var _top = 0;
        $('body').html('<div id="dm">这就是一条弹幕这就是一条弹幕这就是一条弹幕这就是一条弹幕</div>');
        var dm = $('#dm');

        var _left = $(window).width();
        var _height = $(window).height();

        _top = _top + 76;
        if(_top >= _height - 100){
            _top = 0;
        }

        dm.css({left:_left, top:_top, color:getReandomColor()});
        var time=10000;
        if(dm.index() % 2 == 0){
            time=15000;
        }
        dm.animate({left: "-"+_left+"px"}, time);


        function getReandomColor(){
            return '#'+(
                function(h)
                    {
                        return new Array(7-h.length).join("0") + h
                    }
              )((Math.random()*0x1000000<<0).toString(16))
        }

展开
收起
杨冬芳 2016-06-08 13:14:36 2467 0
1 条回答
写回答
取消 提交回答
  • IT从业
    data={name:this.name,message:this.message,time:nowtime,uid:uid,top:Math.round(Math.random()*100)};
    
    也想过做弹幕的,直接用的是marquee 仅供参考,传值的时候传个随机参数让他们的位置不一样
    https://github.com/Someant/chatandbarrage/blob/master/barrage.html
    2019-07-17 19:31:42
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
3D动画的菜谱式灯光与云渲染 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载