js+css实现弹幕效果

时间: 2023-05-15 14:04:47 浏览: 27
可以使用CSS3的animation和@keyframes属性来实现弹幕效果,具体实现方法可以参考以下代码: HTML: ``` <div class="danmu">这是一条弹幕</div> ``` CSS: ``` .danmu { position: absolute; top: 0; left: 100%; white-space: nowrap; animation: danmu 10s linear infinite; } @keyframes danmu { from { transform: translateX(100%); } to { transform: translateX(-100%); } } ``` 这段代码会让弹幕从右侧进入屏幕,沿着屏幕横向滚动,直到离开屏幕左侧。可以通过调整animation的duration属性来控制弹幕滚动的速度。
相关问题

CSS+Javascrip实现弹幕的效果

CSS和JavaScript都可以实现弹幕效果,下面是其中一种实现方式: CSS实现: 1. 定义一个弹幕容器,设置宽度和高度,并设置overflow为hidden,保证弹幕在容器内滚动。 ```css .barrage-container { position: relative; width: 100%; height: 200px; overflow: hidden; } ``` 2. 定义弹幕样式,包括字体大小、颜色、位置、动画等。 ```css .barrage-item { position: absolute; font-size: 16px; color: #fff; white-space: nowrap; animation: move 10s linear; } @keyframes move { from { transform: translateX(100%); } to { transform: translateX(-100%); } } ``` JavaScript实现: 1. 获取弹幕容器和弹幕数据,创建弹幕元素并添加到容器中。 ```javascript const container = document.querySelector('.barrage-container'); const data = [ { text: '弹幕1', time: 1 }, { text: '弹幕2', time: 2 }, { text: '弹幕3', time: 3 }, ]; data.forEach(item => { const div = document.createElement('div'); div.innerText = item.text; div.className = 'barrage-item'; div.style.top = Math.floor(Math.random() * container.clientHeight) + 'px'; div.style.animationDelay = item.time + 's'; container.appendChild(div); }); ``` 2. 监听弹幕容器的动画结束事件,将弹幕元素从容器中移除。 ```javascript container.addEventListener('animationend', event => { if (event.target.classList.contains('barrage-item')) { container.removeChild(event.target); } }); ``` 通过以上代码实现,可以实现一个简单的弹幕效果。

写一个html+css+js代码实现弹幕效果

以下是一个简单的实现弹幕效果的 HTML、CSS、JavaScript 代码: HTML 代码: ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>弹幕效果</title> <style> body { margin: 0; padding: 0; overflow: hidden; background-color: black; color: white; font-size: 24px; font-family: Arial, sans-serif; } #danmu { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; } .danmu-item { position: absolute; white-space: nowrap; pointer-events: auto; } </style> </head> <body> <div id="danmu"></div> <script src="danmu.js"></script> </body> </html> ``` CSS 代码: ``` .danmu-item { animation: danmu 10s linear; } @keyframes danmu { from { transform: translateX(100%); } to { transform: translateX(-100%); } } ``` JavaScript 代码: ``` var danmu = document.getElementById('danmu'); function createDanmu(text) { var item = document.createElement('div'); item.className = 'danmu-item'; item.innerText = text; item.style.top = Math.floor(Math.random() * (danmu.clientHeight - item.clientHeight)) + 'px'; danmu.appendChild(item); setTimeout(function() { item.remove(); }, 10000); } setInterval(function() { createDanmu('这是一条弹幕'); }, 1000); ``` 这段代码会在页面上创建一个全屏的黑色背景,并在页面上方不断滚动显示“这是一条弹幕”的文本。可以通过修改 `createDanmu` 函数的参数来显示不同的文本。

相关推荐

视频弹幕效果可以通过 JavaScript 和 jQuery 实现,具体实现步骤如下: 1. 创建弹幕元素 首先,在视频播放器下方创建一个 div 元素,用于显示弹幕,将其样式设置为绝对定位,宽度为视频播放器的宽度,高度为弹幕字体大小的两倍,背景色为透明。 html css #danmu-container { position: absolute; bottom: 0; width: 100%; height: 2em; background-color: transparent; overflow: hidden; } 2. 发送弹幕 使用 jQuery 监听发送按钮的点击事件,获取文本框中的弹幕内容,并动态创建一个 span 元素,设置其样式和文本内容,将其添加到弹幕容器内,设置其初始位置为容器的右侧,使用 animate() 方法实现弹幕的滚动效果。 html <input type="text" id="danmu-input"> <button id="danmu-send">发送</button> javascript $('#danmu-send').click(function() { var content = $('#danmu-input').val(); if (content) { var $danmu = $('' + content + ''); $danmu.css({ position: 'absolute', top: Math.random() * ($('#danmu-container').height() - 30) + 'px', right: 0, fontSize: '1em', whiteSpace: 'nowrap', color: '#fff' }); $('#danmu-container').append($danmu); $danmu.animate({ right: $('#danmu-container').width() }, 10000, function() { $(this).remove(); }); $('#danmu-input').val(''); } }); 3. 暂停弹幕 使用 jQuery 监听视频播放器的暂停事件,遍历弹幕容器内的所有弹幕元素,使用 stop() 方法停止弹幕的滚动动画,即可实现暂停弹幕的效果。 javascript $('#video-player').on('pause', function() { $('#danmu-container span').stop(); }); 以上就是使用 JavaScript 和 jQuery 实现视频弹幕效果的基本步骤,可以根据需要进行功能扩展和优化。
<body> </body> <style> .container { width: 500px; height: 300px; position: relative; } #danmu { position: absolute; top: 50%; transform: translateY(-50%); font-size: 16px; white-space: nowrap; overflow: hidden; width: 100%; height: 100%; text-shadow: 1px 1px 2px #000; } .danmu-item { position: absolute; color: #fff; } </style> <script> // 定义弹幕节点 class DanmuItem { constructor(text, speed) { // 创建节点并添加到父元素中 this.element = document.createElement('div'); this.element.classList.add('danmu-item'); this.element.innerText = text; document.querySelector('#danmu').appendChild(this.element); // 设置定位 const danmuWidth = this.element.clientWidth; const danmuHeight = this.element.clientHeight; const containerHeight = document.querySelector('.container').clientHeight; this.element.style.left = '100%'; this.element.style.top = Math.random() * (containerHeight - danmuHeight) + 'px'; // 设置移动动画 this.element.animate([ { left: '100%' }, { left: '-' + danmuWidth + 'px' }, ], { duration: speed * 1000, fill: 'both', }).onfinish = () => { // 移除节点 this.element.remove(); }; } } // 发送弹幕 function sendDanmu() { const input = document.querySelector('#input'); const text = input.value; if (text.trim() === '') { return; } const danmu = new DanmuItem(text, 6); input.value = ''; } window.onload = () => { // 监听回车事件,发送弹幕 document.addEventListener('keyup', (e) => { if (e.code === 'Enter') { sendDanmu(); } }); } </script>
视频弹幕特效可以使用 JavaScript 和 jQuery 来实现,具体步骤如下: 1. 创建弹幕元素 首先,在视频播放器下方创建一个 div 元素,用于显示弹幕,将其样式设置为绝对定位,宽度为视频播放器的宽度,高度为弹幕字体大小的两倍,背景色为透明。 html css #danmu-container { position: absolute; bottom: 0; width: 100%; height: 2em; background-color: transparent; overflow: hidden; } 2. 发送弹幕 使用 jQuery 监听发送按钮的点击事件,获取文本框中的弹幕内容,并动态创建一个 span 元素,设置其样式和文本内容,将其添加到弹幕容器内,设置其初始位置为容器的右侧,使用 animate() 方法实现弹幕的滚动效果。 html <input type="text" id="danmu-input"> <button id="danmu-send">发送</button> javascript $('#danmu-send').click(function() { var content = $('#danmu-input').val(); if (content) { var $danmu = $('' + content + ''); $danmu.css({ position: 'absolute', top: Math.random() * ($('#danmu-container').height() - 30) + 'px', right: 0, fontSize: '1em', whiteSpace: 'nowrap', color: '#fff' }); $('#danmu-container').append($danmu); $danmu.animate({ left: $('#danmu-container').width() }, 8000, function() { $(this).remove(); }); $('#danmu-input').val(''); } }); 3. 暂停弹幕 使用 jQuery 监听视频播放器的暂停事件,遍历弹幕容器内的所有弹幕元素,使用 stop() 方法停止弹幕的滚动动画,即可实现暂停弹幕的效果。 javascript $('#video-player').on('pause', function() { $('#danmu-container span').stop(); }); 4. 添加特效 为了实现弹幕特效,可以对弹幕元素的样式进行修改,例如使用 CSS3 的 transform 属性实现弹幕的旋转效果,使用 text-shadow 属性实现弹幕的阴影效果等。具体代码如下: css #danmu-container span { position: absolute; top: 0; right: 0; font-size: 1em; white-space: nowrap; color: #fff; transform: rotateY(180deg); text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; } 在代码中,使用 transform 属性设置弹幕元素的旋转角度为 180 度,使其水平翻转,使用 text-shadow 属性设置弹幕元素的阴影效果,增强其边缘清晰度。 需要注意的是,弹幕特效的实现需要根据具体需求进行调整,例如可以添加动态缩放、透明渐变等其他效果。同时,为了避免弹幕重叠,可以设置弹幕元素之间的间隔,避免弹幕重叠。
以下是基于jQuery实现评论弹幕、弹幕漂浮、滚动的示例代码: 1. 评论弹幕 HTML代码: html 我是评论1 我是评论2 我是评论3 CSS样式: css #comment-container { position: relative; height: 300px; overflow: hidden; } .comment-item { position: absolute; top: 0; left: 100%; white-space: nowrap; } JS代码: javascript $(function() { // 设置弹幕移动速度 var speed = 5000; // 获取评论容器和评论项 var $container = $('#comment-container'); var $items = $container.find('.comment-item'); // 遍历评论项 $items.each(function() { // 获取评论项宽度 var itemWidth = $(this).width(); // 设置评论项的初始位置 $(this).css('left', $container.width() + itemWidth); // 计算评论项移动到容器左侧的时间 var time = ($(this).position().left + itemWidth) * speed / ($container.width() + itemWidth); // 设置评论项的动画效果 $(this).animate({ left: -itemWidth }, time, 'linear'); }); }); 2. 弹幕漂浮 HTML代码: html CSS样式: css #danmu-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; } JS代码: javascript $(function() { // 设置弹幕移动速度 var speed = 5000; // 获取弹幕容器 var $container = $('#danmu-container'); // 随机生成弹幕 setInterval(function() { // 随机生成颜色和内容 var color = '#' + Math.floor(Math.random() * 16777215).toString(16); var content = '我是弹幕'; // 创建弹幕元素 var $item = $('').text(content); // 设置弹幕元素的样式 $item.css({ color: color, top: Math.floor(Math.random() * $container.height()), left: $container.width() }); // 将弹幕元素添加到弹幕容器中 $container.append($item); // 计算弹幕元素移动到容器左侧的时间 var itemWidth = $item.width(); var time = ($item.position().left + itemWidth) * speed / ($container.width() + itemWidth); // 设置弹幕元素的动画效果 $item.animate({ left: -itemWidth }, time, 'linear', function() { // 移除弹幕元素 $(this).remove(); }); }, 1000); }); 3. 滚动 HTML代码: html 我是滚动条目1 我是滚动条目2 我是滚动条目3 CSS样式: css #scroll-container { position: relative; height: 100px; overflow: hidden; } #scroll-container ul { position: absolute; top: 0; left: 0; margin: 0; padding: 0; list-style: none; } #scroll-container ul li { margin: 5px 0; } JS代码: javascript $(function() { // 设置滚动速度 var speed = 5000; // 获取滚动容器和滚动列表 var $container = $('#scroll-container'); var $list = $container.find('ul'); // 计算滚动列表的高度 var listHeight = $list.height(); // 复制滚动列表元素 $list.clone().appendTo($container); // 设置滚动列表的初始位置 $list.css('top', 0); // 设置滚动列表的动画效果 setInterval(function() { $list.animate({ top: -listHeight }, speed, 'linear', function() { $(this).css('top', $container.height()); }); }, speed); });
好的,以下是使用JavaScript实现视频弹幕特效的基本步骤: 1. 获取视频播放器的DOM元素和弹幕容器的DOM元素 2. 定义弹幕内容的数据结构,例如: var comments = [ { text: "第一条弹幕", time: 5 }, { text: "第二条弹幕", time: 10 }, { text: "第三条弹幕", time: 15 } ]; 其中,text表示弹幕的文本内容,time表示弹幕出现的时间(单位为秒)。 3. 监听视频播放器的timeupdate事件,在每一帧视频播放时判断当前时间是否有对应的弹幕需要显示,如果有则创建一个弹幕元素,添加到弹幕容器中,并设置弹幕的样式和动画效果。 4. 为弹幕元素添加点击事件,当用户点击弹幕时可以进行相应的操作,例如暂停视频播放、跳转到对应的时间点等。 下面是一个简单的示例代码: javascript var video = document.getElementById("myVideo"); var commentContainer = document.getElementById("commentContainer"); var comments = [ { text: "第一条弹幕", time: 5 }, { text: "第二条弹幕", time: 10 }, { text: "第三条弹幕", time: 15 } ]; video.addEventListener("timeupdate", function() { var currentTime = video.currentTime; for (var i = 0; i < comments.length; i++) { if (currentTime >= comments[i].time) { var commentElement = document.createElement("div"); commentElement.className = "comment"; commentElement.textContent = comments[i].text; commentContainer.appendChild(commentElement); // 设置弹幕的样式和动画效果 // ... } } }); commentContainer.addEventListener("click", function(event) { // 处理弹幕点击事件 // ... }); 需要注意的是,弹幕的样式和动画效果可以使用CSS来实现,例如: css .comment { position: absolute; top: 50%; left: 100%; transform: translate(0, -50%); white-space: nowrap; animation: move 10s linear; } @keyframes move { 0% { transform: translate(100%, -50%); } 100% { transform: translate(-100%, -50%); } } 这里使用了position属性来设置弹幕的位置,animation属性来设置弹幕的动画效果。具体的样式和动画效果可以根据需要进行调整。
实现视频弹幕功能的话,可以通过以下步骤进行: 1. 在 HTML 中创建一个 video 标签,设置视频地址以及宽高等属性。 2. 在 CSS 中设置 video 的样式,可以设置宽高、边框等。 3. 在 JavaScript 中编写弹幕逻辑:创建一个弹幕容器 div,设置其样式以及位置,并将其添加到视频容器中。然后根据用户输入的消息创建一个弹幕元素,设置其样式和位置,并将其添加到弹幕容器中。最后通过定时器实现弹幕的滚动效果。 具体的实现过程可以参考下面的代码示例: HTML 代码: CSS 代码: video { border: 1px solid #ccc; } .danmu-container { position: relative; width: 640px; height: 360px; overflow: hidden; } .danmu-item { position: absolute; white-space: nowrap; font-size: 16px; color: #fff; text-shadow: 0 0 2px #000; } JavaScript 代码: // 获取视频元素和弹幕容器 var video = document.querySelector('video'); var danmuContainer = document.createElement('div'); danmuContainer.className = 'danmu-container'; video.parentNode.insertBefore(danmuContainer, video.nextSibling); // 添加弹幕 function addDanmu(text) { var danmuItem = document.createElement('span'); danmuItem.textContent = text; danmuItem.className = 'danmu-item'; danmuItem.style.top = Math.floor(Math.random() * (danmuContainer.offsetHeight - 30)) + 'px'; danmuItem.style.right = '-' + danmuItem.offsetWidth + 'px'; danmuContainer.appendChild(danmuItem); // 弹幕滚动 var offset = danmuContainer.offsetWidth + danmuItem.offsetWidth; danmuItem.style.transition = 'transform ' + (offset / 100) + 's linear'; danmuItem.style.transform = 'translateX(-' + offset + 'px)'; danmuItem.addEventListener('transitionend', function() { danmuContainer.removeChild(this); }); } // 监听键盘事件,添加弹幕 document.addEventListener('keydown', function(e) { if (e.keyCode == 13) { var text = prompt('请输入弹幕内容:'); if (text) { addDanmu(text); } } }); 这是一个简单的视频弹幕实现,具体的效果可以通过 CSS 调整。
好的,请看以下代码: html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>视频弹幕</title> <style type="text/css"> div{ position: relative; width: 320px; height: 240px; margin: 0 auto; background: #000; } video{ width: 100%; height: 100%; object-fit: fill; } .bullet{ position: absolute; color: #fff; font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } </style> </head> <body> <input type="text" id="bullet-input"> <button id="bullet-btn">发射弹幕</button> <script type="text/javascript"> var bulletScreen = function(){ var screenBox = document.querySelector('div'); // 弹幕容器 var video = screenBox.querySelector('video'); // 视频 var bulletArray = []; // 弹幕数组 // 添加弹幕 function addBullet(){ var inputVal = document.querySelector('#bullet-input').value; if(inputVal){ var bulletBox = document.createElement('div'); bulletBox.className = 'bullet'; bulletBox.innerText = inputVal; bulletScreenFlow(bulletBox); screenBox.appendChild(bulletBox); bulletArray.push(bulletBox); } } // 弹幕动画 function bulletScreenFlow(bulletBox){ bulletBox.style.top = Math.random()*screenBox.offsetHeight+'px'; var time = (screenBox.offsetWidth+bulletBox.offsetWidth)/90; // 弹幕动画时间 bulletBox.style.transition = 'all '+time+'s linear'; bulletBox.style.transform = 'translateX(-'+(screenBox.offsetWidth+bulletBox.offsetWidth)+'px)'; bulletBox.addEventListener('transitionend', function(){ screenBox.removeChild(bulletBox); bulletArray.splice(bulletArray.indexOf(bulletBox),1); }) } // 监听回车键 document.querySelector('#bullet-input').addEventListener('keydown', function(e){ if(e.keyCode == 13){ addBullet(); document.querySelector('#bullet-input').value = ''; } }) // 监听发射弹幕按钮 document.querySelector('#bullet-btn').addEventListener('click', function(){ addBullet(); document.querySelector('#bullet-input').value = ''; }) // 初始获取弹幕 function getBullet(){ for(var i=0;i<bulletArray.length;i++){ bulletScreenFlow(bulletArray[i]); } setTimeout(getBullet, 500); } getBullet(); } window.onload = function(){ bulletScreen(); } </script> </body> </html> 解释如下: 1. 在 HTML 中,我们通过 标签来创建了一个容器,并在容器中嵌入了一个视频。 2. 通过一个文本输入框和一个按钮来向弹幕容器中添加弹幕。 3. 在 CSS 样式中,我们给弹幕容器和视频都加了一些样式,并且定义了弹幕的样式。 4. 在 JavaScript 中,我们定义了一个 bulletScreen 的函数,并义了两个子函数 addBullet 和 bulletScreenFlow,分别用于添加弹幕和控制弹幕的动画效果。 5. 我们在 bulletScreen 函数中,监听用户使用键盘或按钮发送弹幕的操作,并将弹幕加入到弹幕容器中。 6. 最后,我们调用 bulletScreen 函数,启动弹幕功能。在一定的时间间隔内,程序会循环获取弹幕数组中的弹幕,并通过 bulletScreenFlow 函数,使这些弹幕动起来。

最新推荐

Typora免费版本(0.9.98)无需破解

Typora历史版本(0.9.98)亲测可用,在win10/win11系统均可使用 目前最新的typora需要付费使用,但官方保持旧版本不收费,可以继续使用,功能与新版本相差不大,在压缩包中包括一个可用的免费旧版本资源 - 版本号0.9.98。 直接安装直接使用 1.0以后的版本均需付费使用。该版本无需使用其他资源解压出的 app.asar 文件移动到 Typora 安装目录resource 文件夹下,替换掉原本的 app.asar。也不必找寻typora-winmm补丁.zip解压,拖动或者复制winmm.dll到typora

基于C#开发的勇士传说横版卷轴游戏源码(课程设计).zip

【资源说明】 基于C#开发的勇士传说横版卷轴游戏源码(课程设计).zip基于C#开发的勇士传说横版卷轴游戏源码(课程设计).zip基于C#开发的勇士传说横版卷轴游戏源码(课程设计).zip基于C#开发的勇士传说横版卷轴游戏源码(课程设计).zip基于C#开发的勇士传说横版卷轴游戏源码(课程设计).zip基于C#开发的勇士传说横版卷轴游戏源码(课程设计).zip基于C#开发的勇士传说横版卷轴游戏源码(课程设计).zip基于C#开发的勇士传说横版卷轴游戏源码(课程设计).zip基于C#开发的勇士传说横版卷轴游戏源码(课程设计).zip基于C#开发的勇士传说横版卷轴游戏源 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

贱人工具箱6.0中望版

贱人工具箱6.0中望版

本科毕业设计项目-Java电影推荐系统-管理后台.zip

本科毕业设计项目-Java电影推荐系统-管理后台

html5手机微信摇一摇抽奖代码.zip

有兴趣刚需的可以自己下载,非常实用的特效代码,可以完美运行,有能力的还可以二次修改!

代码随想录最新第三版-最强八股文

这份PDF就是最强⼋股⽂! 1. C++ C++基础、C++ STL、C++泛型编程、C++11新特性、《Effective STL》 2. Java Java基础、Java内存模型、Java面向对象、Java集合体系、接口、Lambda表达式、类加载机制、内部类、代理类、Java并发、JVM、Java后端编译、Spring 3. Go defer底层原理、goroutine、select实现机制 4. 算法学习 数组、链表、回溯算法、贪心算法、动态规划、二叉树、排序算法、数据结构 5. 计算机基础 操作系统、数据库、计算机网络、设计模式、Linux、计算机系统 6. 前端学习 浏览器、JavaScript、CSS、HTML、React、VUE 7. 面经分享 字节、美团Java面、百度、京东、暑期实习...... 8. 编程常识 9. 问答精华 10.总结与经验分享 ......

无监督视觉表示学习中的时态知识一致性算法

无监督视觉表示学习中的时态知识一致性维信丰酒店1* 元江王2*†马丽华2叶远2张驰2北京邮电大学1旷视科技2网址:fengweixin@bupt.edu.cn,wangyuanjiang@megvii.com{malihua,yuanye,zhangchi} @ megvii.com摘要实例判别范式在无监督学习中已成为它通常采用教师-学生框架,教师提供嵌入式知识作为对学生的监督信号。学生学习有意义的表征,通过加强立场的空间一致性与教师的意见。然而,在不同的训练阶段,教师的输出可以在相同的实例中显著变化,引入意外的噪声,并导致由不一致的目标引起的灾难性的本文首先将实例时态一致性问题融入到现有的实例判别范式中 , 提 出 了 一 种 新 的 时 态 知 识 一 致 性 算 法 TKC(Temporal Knowledge Consis- tency)。具体来说,我们的TKC动态地集成的知识的时间教师和自适应地选择有用的信息,根据其重要性学习实例的时间一致性。

create or replace procedure这句语句后面是自定义么

### 回答1: 是的,"create or replace procedure"语句后面应该跟着自定义的存储过程名。例如: ```sql create or replace procedure my_procedure_name ``` 这里"my_procedure_name"是你自己定义的存储过程名,可以根据具体需求进行命名。 ### 回答2: 不完全是自定义。在Oracle数据库中,"CREATE OR REPLACE PROCEDURE"是一条SQL语句,用于创建或替换一个存储过程。关键词"CREATE"表示创建新的存储过程,关键词"OR REPLACE"表示如果该存储过程

数据结构1800试题.pdf

你还在苦苦寻找数据结构的题目吗?这里刚刚上传了一份数据结构共1800道试题,轻松解决期末挂科的难题。不信?你下载看看,这里是纯题目,你下载了再来私信我答案。按数据结构教材分章节,每一章节都有选择题、或有判断题、填空题、算法设计题及应用题,题型丰富多样,共五种类型题目。本学期已过去一半,相信你数据结构叶已经学得差不多了,是时候拿题来练练手了,如果你考研,更需要这份1800道题来巩固自己的基础及攻克重点难点。现在下载,不早不晚,越往后拖,越到后面,你身边的人就越卷,甚至卷得达到你无法想象的程度。我也是曾经遇到过这样的人,学习,练题,就要趁现在,不然到时你都不知道要刷数据结构题好还是高数、工数、大英,或是算法题?学完理论要及时巩固知识内容才是王道!记住!!!下载了来要答案(v:zywcv1220)。

基于对比检测的高效视觉预训练

10086⇥⇥⇥⇥基于对比检测的高效视觉预训练Ol i vierJ. He´naf f SkandaKoppula Jean-BaptisteAlayracAaronvandenOord OriolVin yals JoaoCarreiraDeepMind,英国摘要自我监督预训练已被证明可以为迁移学习提供然而,这些性能增益是以大的计算成本来实现的,其中最先进的方法需要比监督预训练多一个数量级的计算。我们通过引入一种新的自监督目标,对比检测,任务表示与识别对象级功能跨增强来解决这个计算瓶颈。该目标可提取每幅图像的丰富学习信号,从而在各种下游任务上实现最先进的传输精度,同时需要高达10少训练特别是,我们最强的ImageNet预训练模型的性能与SEER相当,SEER是迄今为止最大的自监督系统之一,它使用了1000多个预训练数据。最后,我们的目标无缝地处理更复杂图像的预训练,例如COCO中的图像,缩小了从COCO到PASCAL的监督迁移学习的差距1. 介绍自从Al