vue 图片横向无限滚动 scoll

5 篇文章 0 订阅
3 篇文章 0 订阅

不过于依赖CSS主要核心代码都在JS中完成

	//获取ULDOM
	let ul = document.getElementById('ul')
	//UL调用动画
	ul.style=`animation:scoll ${this.appData.FullImageUrls.length*5}s linear 0s infinite;`
	//获取ULDOM元素宽度
	let width = window.getComputedStyle(ul).width
	width = width.slice(0,width.length-2)
	width = Number(width/2).toFixed(0)
	//获取样式表
	let styleSheets = document.styleSheets
	let domstyle = undefined
	//循环样式表
	for (let i = 0; i <styleSheets.length ; i++) {
	  let cssStyle = styleSheets[i]
	  //vue打包后样式表都会放在一个文件中 这里是为了找到vue调用的那个样式表
	  try {
	    if(cssStyle.cssRules.length>1){
	      domstyle=cssStyle
	      break
	    }
	  }catch (e) {
	    continue
	  }
	}
	//给样式表添加一个动画样式
	domstyle.insertRule('@keyframes scoll{from{ left:0;}to{left: -'+width+'px}}',domstyle.length)
//普通的HTML根据自己需求编写
<ul id="ul">
  <li v-for="(img,index) in imgs" :key="index" >
    <img :src="img" mode="aspectFill" height="100%">
  </li>
  <li v-for="(img,index) in imgs" :key="'c'+index" >
    <img :src="img" mode="aspectFill" height="100%">
  </li>
</ul>
//普通的CSS根据自己需求编写
  #container{
    width:100%;
    height:250px;
    overflow: hidden;
    position: relative;
    ul{
      list-style: none;
      left:0;
      top:0;
      /*width: 100%;*/
      display: flex;
      flex-shrink:0;
      position: absolute;
      height: 100%;
      li{
        height: 100%;
        float:left;
        margin-right:20px;
      }
    }
  }
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要实现vue-seamless-scroll的横向无限滚动,可以按照以下步骤进行操作: 1. 首先,需要在Vue项目中引入vue-seamless-scroll组件。可以使用全局组件引入的方式,在main.js或者入口文件中添加以下代码: ``` import scroll from 'vue-seamless-scroll' Vue.use(scroll) ``` 2. 其次,需要安装vue-seamless-scroll插件。在项目的根目录下运行以下命令安装vue-seamless-scroll插件: ``` npm install vue-seamless-scroll --save ``` 3. 接着,在需要使用横向无限滚动的组件中,可以设置滚动条的属性。可以在computed中设置属性,例如: ```javascript computed: { scrollOptions() { return { step: 1.0, // 数值越大速度滚动越快 hoverStop: true, // 是否开启鼠标悬停停止滚动 direction: 2, // 设置为2表示横向滚动 waitTime: 1000, // 单步运动停止的时间,默认值为1000ms openWatch: true, // 数据实时监控刷新DOM } }, }, ``` 4. 最后,在模板中使用vue-seamless-scroll组件,并将属性绑定到组件上,例如: ```html <scroll :options="scrollOptions"> <!-- 添加需要无限滚动的内容 --> <div>...</div> <div>...</div> <div>...</div> </scroll> ``` 通过以上步骤,你就可以实现vue-seamless-scroll的横向无限滚动效果了。记得根据你的实际需求调整属性的值以及添加需要滚动的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [使用vue-seamless-scroll 来实现无限滚动效果](https://blog.csdn.net/chenw9527/article/details/125947712)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值