当前位置:首页 > 开发教程 > js/jQuery教程 >

vue实现横屏滚动公告效果

时间:2022-04-08 12:36 来源:未知 作者:深拥与我 收藏

这篇文章主要为大家详细介绍了vue实现横屏滚动公告效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了vue实现横屏滚动公告效果的具体代码,供大家参考,具体内容如下

vue实现横屏滚动公告效果

HTML文件

<template>
 <div id="box" ref="box">
  <div class="marquee-box" ref="marquee" @mouseover="menter" @mouseleave="mleave">
   <p ref="cmdlist" id="pWidth">
    <img style="width: 12px;height: 12px" src="../assets/logo.png" >累计练习时长1小时,可以获得1次抽奖机会,奖品有。。。。。
   </p>
  </div>
 </div>
</template>

JS文件内容

export default {
 name: 'HelloWorld',
 data () {
  return {
   value: 0,
   timer: '',//计时器
   pwidth:0,//公告文本的宽度
   windowWidth:document.documentElement.clientWidth,// 设备屏幕的宽度
   }
  },

 mounted() {
  let element = this.$refs.cmdlist;
  this.pwidth = document.defaultView.getComputedStyle(element,'').width.split('px');
  this.timer = setInterval(this.clickCommend, 20);
 },

 watch:{
  value(newValue, oldValue) {
   let allWidth= parseInt(this.windowWidth)+parseInt(this.pwidth[0]);
   if(newValue <= -allWidth){
    this.$refs.cmdlist.style.marginLeft = this.windowWidth+"px";
    this.value = 0;
   }
  },
 },

 methods:{
  clickCommend(e) {
   let _this = this;
   this.$nextTick(() => {
    this.value -=1;
    this.$refs.cmdlist.style.marginLeft = _this.windowWidth+this.value+"px";
   });
  },
  menter(){
   clearInterval(this.timer);
  },
  mleave(){
   this.timer = setInterval(this.clickCommend, 20);
  },
 },
 beforeDestroy() {
  clearInterval(this.timer);
 }
}

CSS样式

<style scoped>
#box {
 width: 100%;
 height: 50px;
 margin-top: 50px;
 position: relative;
}
.marquee-box {
 position: relative;
 width: 100%;
 height: 100%;
 overflow:auto;
 background-color: #f8f8f8;
}
#pWidth{
 width: 100%;
 height: 50px;
 padding: 0;
 margin: 0;
 line-height: 50px;
 display: block;
 word-break: keep-all;
 white-space: nowrap;
 overflow:hidden;
 font-family: 微软雅黑; fontSize:14px;
 background-color: #f8f8f8
}
::-webkit-scrollbar {
 width: 0 !important;
}
::-webkit-scrollbar {
 width: 0 !important;height: 0;
}
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持源码搜藏网。


下一篇:没有了

js/jQuery教程阅读排行

最新文章