首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js样式banner滚动代码

JavaScript 样式 banner 滚动代码通常用于创建一个自动滚动的横幅广告或图片轮播效果。以下是一个简单的示例,包括 HTML、CSS 和 JavaScript 代码,用于实现一个基本的水平滚动 banner。

HTML 结构

代码语言:txt
复制
<div class="banner-container">
    <div class="banner-track" id="bannerTrack">
        <div class="banner-item"><img src="image1.jpg" alt="Image 1"></div>
        <div class="banner-item"><img src="image2.jpg" alt="Image 2"></div>
        <div class="banner-item"><img src="image3.jpg" alt="Image 3"></div>
    </div>
</div>

CSS 样式

代码语言:txt
复制
.banner-container {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.banner-track {
    display: flex;
    animation: scroll 15s linear infinite;
}

.banner-item {
    min-width: 100%;
    box-sizing: border-box;
}

.banner-item img {
    width: 100%;
    display: block;
}

@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

JavaScript 控制

代码语言:txt
复制
document.addEventListener('DOMContentLoaded', function() {
    const track = document.getElementById('bannerTrack');
    const items = track.children;
    let totalItems = items.length;

    // 复制第一项到最后,实现无缝滚动
    const firstItem = items[0].cloneNode(true);
    track.appendChild(firstItem);

    // 调整动画时间以适应项目数量
    const itemWidth = items[0].offsetWidth;
    const duration = (totalItems + 1) * (15 / totalItems); // 假设每个项目展示时间为15秒
    track.style.animationDuration = `${duration}s`;
});

基础概念

  • HTML: 结构层,定义了 banner 的基本结构。
  • CSS: 表现层,用于设置 banner 的样式和动画效果。
  • JavaScript: 行为层,控制 banner 的滚动逻辑。

优势

  • 自动播放: 用户无需交互即可看到内容的变换。
  • 视觉吸引力: 动态效果可以吸引用户的注意力。
  • 灵活性: 可以轻松添加、删除或更改展示的内容。

类型

  • 水平滚动: 如上例所示,内容从右向左或从左向右滚动。
  • 垂直滚动: 内容上下滚动。
  • 淡入淡出: 图片或内容逐渐显示和消失。

应用场景

  • 网站首页: 用于展示重要信息或最新活动。
  • 电商网站: 展示促销活动和特色商品。
  • 新闻网站: 快速切换不同新闻头条。

可能遇到的问题及解决方法

  1. 滚动不流畅: 确保图片大小一致且优化过,减少文件大小。使用 will-change 属性可以提高动画性能。
  2. 滚动不流畅: 确保图片大小一致且优化过,减少文件大小。使用 will-change 属性可以提高动画性能。
  3. 动画停止: 确保 JavaScript 代码正确无误,并且没有被其他脚本干扰。
  4. 内容不显示: 检查 CSS 是否正确应用,特别是 overflow: hidden;position: relative;

通过以上代码和解释,你应该能够创建一个基本的滚动 banner,并理解其背后的原理和可能的解决方案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

css滚动条样式修改_js设置滚动条样式

CSS滚动条选择器 ::-webkit-scrollbar — 整个滚动条 ::-webkit-scrollbar-button — 滚动条上的按钮 (上下箭头) ::-webkit-scrollbar-thumb...— 滚动条上的滚动滑块 ::-webkit-scrollbar-track — 滚动条轨道 ::-webkit-scrollbar-track-piece — 滚动条没有滑块的轨道部分 ::-webkit-scrollbar-corner...— 当同时有垂直滚动条和水平滚动条时交汇的部分 ::-webkit-resizer — 某些元素的corner部分的部分样式(例:textarea的可拖动按钮) ::-webkit-scrollbar...仅仅在支持WebKit的浏览器 (例如, 谷歌Chrome, 苹果Safari)可以使用 修改滚动条样式 .container { width: 100px; height: 100px...; overflow: auto; } /* 整个滚动条 */ .container::-webkit-scrollbar { width : 8px; } /* 滚动条里面滑块 */ .

19.5K41
  • 【CSS】课程网站 Banner 制作 ③ ( Banner 栏右侧课程盒子测量及样式 | Banner 版心盒子模型右侧课程栏代码示例 )

    文章目录 一、Banner 栏右侧课程盒子测量及样式 1、盒子尺寸测量 2、课程表头部样式 3、列表样式 4、最下方按钮样式 二、Banner 版心盒子模型右侧课程栏代码示例 1、HTML 标签结构...条右侧 课程表 底部按钮 - 鼠标经过时的样式 */ .all:hover { background-color: #00a4ff; color: #fff; } 二、Banner 版心盒子模型右侧课程栏代码示例...---- 1、HTML 标签结构 核心代码 : Banner 模块 - 结束 --> 2、CSS 样式 核心代码 : /* 配置 Banner 条 课程表 盒子模型样式 */ /* Banner 条右侧 课程表盒子样式...条右侧 课程表 底部按钮 - 鼠标经过时的样式 */ .all:hover { background-color: #00a4ff; color: #fff; } 完整代码 : /* 清除标签默认的内外边距

    3.6K60

    html div 隐藏滚动条样式,div滚动条样式隐藏与显示

    DIV滚动条样式是可以设置的,CSS滚动条同样也可以显示与隐藏,对div设置滚动条,设置其横向滚动条和纵向滚动条样式应该怎么做呢?...要设置CSS滚动条样式,需要用到overflow-y和overflow-x来设置div盒子对象右侧和底部滚动条效果。...同时也可以使用CSS样式设置html框架iframe的滚动条隐藏,接下来为大家介绍。...div自定义滚动条样式 滚动条的css样式主要有三部分组成: ::-webkit-scrollbar 定义了滚动条整体的样式; ::-webkit-scrollbar-thumb 滑块部分; ::-webkit-scrollbar-thumb...轨道部分; 自定义滚动条样式实例: 1、html代码: 2、css代码: .test{ width: 50px; height: 200px; overflow: auto; float: left

    8.9K60

    JS简易整页滚动

    fullPage超简易版本 1.知识点 JS 滚动监听事件 JS 移动端touch监听事件 函数节流 DOM操作 2.示例GIF ?...示例GIF 3.代码分析 1.CSS html, body设置 overflow 为 hidden, 让视图中只包括一个分页;设置滑动分页的长宽都是 100%; 外部容器设置 transition 过渡效果...向下滚动时, 当 currentPosition 比 -整体分页高度 大的时候(绝对值相比小的时候), 向下滚动;向上滚动时, 当 currentPosition 大于 0 的时候, 向上滚动. /...滚动事件firefox与其他浏览器的事件不同, 所以需要进行判断. deltaY大于0的时候, 想下滚动; 反之, 向上滚动. var handlerWheel = throttle(scrollMove...mousewheel_event#The_detail_property https://developer.mozilla.org/en-US/docs/Web/API/Touch_events 5.整体代码

    15.7K31

    JS判断滚动条是否停止滚动

    背景:昨天一个同事有种需求,有一个展示数据区域的div,带滚动条,当滚动条滚动时,需要向后台发请求,计算数据,再拿到前台展示。        ...分析:由于数据量级别较大,所以当滚动条滚动时,如果时时向后台发请求,对服务器和浏览器都造成巨大的压力。想到的解决方案是,当滚动条停止时,再去发请求计算数据。...那么问题来了,如何判断滚动条是否停止了呢?        解决:搜索了一下,js本身是无法判断滚动条是在滚动状态还是停止状态,只有通过其它方式了。...后来想到的思路是当滚动条滚动的时候,发起一个定期执行的方法,并记录一次当前滚动条到顶部的距离,这个方法中判断此时滚动条到顶部的距离是否和上次记录的相等,如果相等,那么说明停止滚动了,不相等,还在滚动。...代码:     <!

    17.4K00
    领券