/** * 顶部header */ Vue.component("process-control", { template: `
暂无数据
{{item.title}}
{{item.text}} {{item.number}}%
{{item.number}}
{{item.number}}
{{item.prop}}
`, props: { list:{ type:Array }, height:{ type:Number }, number:{ type:Number }, prop:{ type:Boolean }, type:{ type:Boolean, default:false }, shownumber:{ type:Boolean, default: false }, righttext:{ type:Boolean, default:false } }, data() { return { forData:[], interval: '', index:0, } }, mounted() { this.init() }, methods: { init() { this.getData() //计划时间 this.interval = setInterval(this.scroll, 5000); }, getData(){ var data = this.list var max = 0; for(let i = 0;i { x.width = (Number(x.number) / max ) * 100 return x }) this.forData = data }, scroll() { let offsetHeight = this.$refs.process.querySelectorAll('.output-content-for')[0].offsetHeight; if(this.index == this.forData.length - this.number){ this.index = 0 this.$refs.process.scrollTop = 0 }else{ this.index += 1 $(this.$refs.process).animate({scrollTop:(offsetHeight * this.index)+'px'}) } }, MouseEnter() {//鼠标移入停止滚动 clearInterval(this.interval); }, MouseLeave() {//鼠标离开继续滚动 this.interval = setInterval(this.scroll, 5000); }, }, watch:{ list:function () { this.init() } } })