• 要在一个长盒子里面实现无缝滚动,为什么我js写好了,还是不能实现无缝滚动呢?


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 Ycheng03 2024-06-26 19:31 采纳率: 0% 浏览 2 首页/ 前端 / 要在一个长盒子里面实现无缝滚动,为什么我js写好了,还是不能实现无缝滚动呢? csshtmljavascript
    .right_bottom{ width:867px; height:166px; border:2px solid #DFDFDF; clear:both; background: #f0f9fe; overflow: hidden; float: left; } .right_bottom .htp{ padding-left: 305px; } .right_bottom h2{ border-bottom: 3px dashed #00ff99; } .right_bottom .imgbox ul{ display: flex; flex-direction: row; padding-top: 10px; } .right_bottom .imgbox li{ float: left; margin: 0 10px; list-style-type: none; } .right_bottom .imgbox li img{ display: block; } window.addEventListener('load',function(){ var imgbox=this.document.querySelector('.imgbox'); var ul=imgbox.querySelector('ul'); function change(){ if(ul.offsetLeft==-867){ ul.style.left=0; } ul.style.left=ul.offsetLeft-1+'px'; } var timer=this.setInterval(change,15); imgbox.addEventListener('mouseover',function(){ clearInterval(timer); }) imgbox.addEventListener('mouseout',function(){ timer=setInterval(change,15); }) }) 展开全部 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    2条回答 默认 最新

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-26 19:31
      关注

      引自免费微信小程序:皆我百晓生

      在您的HTML代码中,您已经成功地设置了容器的宽度、高度以及边框样式,并且将内容放在了

        元素内。为了实现无缝滚动效果,您可以考虑使用JavaScript结合CSS Flexbox布局。以下是修改后的代码示例:

        首先,确保您的CSS文件包含以下规则:

        /* 基础样式 */
        body {
          font-family: Arial, sans-serif;
          line-height: 1.6;
          color: #333;
        }
        
        /* 容器样式 */
        .container {
          display: flex;
          justify-content: center;
          align-items: center;
          min-height: 100vh;
        }
        
        /* 内容区域样式 */
        .content {
          max-width: 800px;
          padding: 2rem;
          background-color: #fff;
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }
        
        /* 图片列表样式 */
        .img-list {
          display: flex;
          flex-wrap: wrap;
          gap: 10px;
        }
        
        /* 图片样式 */
        .img-item {
          width: 100%;
          max-width: 150px;
          height: auto;
          margin-bottom: 20px;
          position: relative;
          overflow: hidden;
        }
        
        /* 图片缩略图样式 */
        .img-thumbnail {
          width: 100%;
          height: auto;
          object-fit: cover;
          opacity: 0;
          transition: opacity 0.3s ease-in-out;
        }
        
        /* 省略图片 */
        .img-ellipsis {
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          left: 50%;
          z-index: -1;
          width: 100%;
          height: 100%;
          background: #ccc;
          opacity: 0.5;
        }
        
        /* 初始状态 */
        .img-item.is-expanded {
          animation: expand 1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
        }
        
        /* 缩放动画 */
        @keyframes expand {
          from {
            opacity: 0;
            transform: scale(0);
          }
        
          to {
            opacity: 1;
            transform: scale(1);
          }
        }
        

        接下来,添加JavaScript代码来控制滑动效果:

        // 获取所有图片元素
        var imgs = document.querySelectorAll('.img-item');
        
        // 添加鼠标悬停事件处理程序
        imgs.forEach(img => {
          img.addEventListener('mouseover', () => {
            // 将图片缩略图显示为完全展开状态
            img.classList.add('is-expanded');
          });
        
          img.addEventListener('mouseout', () => {
            // 当移除鼠标时,隐藏缩略图
            img.classList.remove('is-expanded');
          });
        });
        

        通过上述步骤,您应该可以实现一个无缝滚动的效果。注意,此代码仅适用于标准HTML5页面结构。如果您尝试在非标准环境中(例如移动应用)使用此代码,可能需要进行一些调整。

      展开全部

      评论 编辑记录
    • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-06-26 19:31
      关注
      让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
      这段代码实现了一个图片轮播效果,需要用到HTML和CSS以及JavaScript。HTML代码包括一个div元素,内部有一个ul元素和多个li元素,每个li元素包含一个img元素。CSS代码实现了div元素的样式以及图片在ul元素中的布局。JavaScript代码通过定时器实现了图片自动播放和鼠标悬浮停止自动播放的效果。具体解释如下: HTML代码:
      • 使用div元素包含一个ul元素和多个li元素,每个li元素都包含一个img元素,img元素用于展示图片。
      • 使用class属性设置div元素的样式类名为“right_bottom”。 CSS代码:
      • 设置.right_bottom类样式的宽度、高度、边框、背景色等属性。
      • 设置.imgbox类样式的图片布局属性,使用flex布局,使图片水平排列。
      • 设置li元素样式为浮动,间距为10px。
      • 设置img元素样式为块级元素,显示为一行。 JavaScript代码: 通过window.addEventListener('load',function(){})方法来实现在页面加载完后执行的函数,该函数包含以下步骤:
      • 获取imgbox元素和ul元素,用于完成图片轮播效果,ul元素的初始位置为left=-867px,用于隐藏页面上的第一个图像。
      • 实现change函数,该函数对ul元素的left值进行修改并反复执行,实现了自动轮播效果。如果当前位置ul.offsetLeft=-867px,则将位置设置为0,实现循环播放。
      • 使用setInterval函数设置定时器timer,每隔15毫秒触发change函数,实现自动轮播效果。
      • 给imgbox元素添加mouseover事件和mouseout事件,用于停止和恢复自动轮播效果。即鼠标悬浮在图片上时停止轮播,移开鼠标后恢复轮播。 案例链接:https://codepen.io/guomiaoyan/pen/wvWYgde
      评论
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    如何让不给听得歌乖乖听话?python教你如何做...
    Oracle LiveLabs实验:Configure network environment for Oracle Database 21c
    5米DEM高程数据分析和对比
    A-Level经济真题(4)
    linux删除软件
    FL Studio21.2宿主软件中文免费版下载
    利用WebStorm开发react——本文来自AI创作助手
    apollo配置中心
    DNS部署与安全
    【网络安全】网络安全基础必备技能
  • 原文地址:https://ask.csdn.net/questions/8124420