zerosoul / rc-bullets

🌈基于CSS3 Animation,使用React构建的弹幕组件
https://zerosoul.github.io/rc-bullets/
587 stars 69 forks source link

返回ObjectHTML Collection问题 #15

Closed Stephen-Sheng closed 4 years ago

Stephen-Sheng commented 4 years ago

您好,我是刚刚接触react的,我在new BulletScreen()添加屏幕的的HTMLElement时,一直返回的是Object HTMLCollection,所以一直抛出The display target of the barrage must be set。请问怎样才能解决这个问题呢,我明明选中的是一个

zerosoul commented 4 years ago

您好,我是刚刚接触react的,我在new BulletScreen()添加屏幕的的HTMLElement时,一直返回的是Object HTMLCollection,所以一直抛出The display target of the barrage must be set。请问怎样才能解决这个问题呢,我明明选中的是一个

请贴出来初始化 BulletScreen 的代码,我估计你用的是querySelectorAll

Stephen-Sheng commented 4 years ago

您好,我是刚刚接触react的,我在new BulletScreen()添加屏幕的的HTMLElement时,一直返回的是Object HTMLCollection,所以一直抛出The display target of the barrage must be set。请问怎样才能解决这个问题呢,我明明选中的是一个 呀

请贴出来初始化 BulletScreen 的代码,我估计你用的是querySelectorAll

这是初始化的代码: let s=new BulletScreen(document.getElementsByClassName('screen')); 这是屏幕的div标签

<div className = 'screen'>
                <DPlayer 
                    className = 'myScreen'
                    options={{
                        autoplay: false,
                        hotkey: true,
                        mutex: true,
                        volume: 0.1,
                        video: {
                            url: src_url,
                            quality: [
                                {
                                    name: '标清',
                                    url: src_url
                                },
                                {
                                    name: '高清',
                                    url: src_url
                                },
                            ],
                            defaultQuality: 1,
                        }
                    }}
                />
 </div>
zerosoul commented 4 years ago

您好,我是刚刚接触react的,我在new BulletScreen()添加屏幕的的HTMLElement时,一直返回的是Object HTMLCollection,所以一直抛出The display target of the barrage must be set。请问怎样才能解决这个问题呢,我明明选中的是一个 呀

请贴出来初始化 BulletScreen 的代码,我估计你用的是querySelectorAll

这是初始化的代码: let s=new BulletScreen(document.getElementsByClassName('screen')); 这是屏幕的div标签

<div className = 'screen'>
                <DPlayer 
                    className = 'myScreen'
                    options={{
                        autoplay: false,
                        hotkey: true,
                        mutex: true,
                        volume: 0.1,
                        video: {
                            url: src_url,
                            quality: [
                                {
                                    name: '标清',
                                    url: src_url
                                },
                                {
                                    name: '高清',
                                    url: src_url
                                },
                            ],
                            defaultQuality: 1,
                        }
                    }}
                />
 </div>

显然,这样你得到的是个HTMLCollection,目前容器只能指定一个元素,多个容器意义也不大。请使用:[...document.getElementsByClassName('screen')][0] 或者 document.querySelector('.screen')