一个递减速度的简易js

< template >
< div class= "tabs" >
< div class= "tabs-top" >
< ul id= "nav" >
< li >最新 </ li >
< li >新闻 </ li >
< li >公告 </ li >
< div id= "hover" >最新 </ div >
</ ul >
</ div >
< div class= "tabs-content" >
< div class= "box show" >
< ul >
< li v-for=" newest in lists. newests" :key=" newest. index" >
< router-link tag= "a" :to=" '/newsInfo/' + newest. id" target= "_blank" >
< span >{{ newest. title}} </ span >
< span >{{ newest. content}} </ span >
< span class= "time" >{{ newest. time}} </ span >
</ router-link >
</ li >
</ ul >
</ div >
< div class= "box" >
< ul >
< li v-for=" news in lists. newss" :key=" news. index" >
< router-link tag= "a" to= '/newsInfo/' >
< span >{{ news. title}} </ span >
< span >{{ news. content}} </ span >
< span class= "time" >{{ news. time}} </ span >
</ router-link >
</ li >
</ ul >
</ div >
< div class= "box" >
< ul >
< li v-for=" notice in lists. notices" :key=" notice. index" >
< a href= "#" >
< span >{{ notice. title}} </ span >
< span >{{ notice. content}} </ span >
< span class= "time" >{{ notice. time}} </ span >
</ a >
</ li >
</ ul >
</ div >
</ div >
</ div >
</ template >

mounted () {
var nav = document. getElementById( 'nav')
var lists = nav. getElementsByTagName( 'li')
var hover = document. getElementById( 'hover')
var box = document. getElementsByClassName( 'box')
var lisWidth = lists[ 0]. offsetWidth;
var newTimer
function startTime( i){
newTimer = setInterval( function(){
var speed = ( lisWidth* i- hover. offsetLeft)/ 10
speed = Math. ceil( speed)
document. title = hover. offsetLeft+ ','+ speed
if( speed === 0){
clearInterval( newTimer)
} else{
hover. style. left = hover. offsetLeft + speed + 'px'
if( hover. offsetLeft<= 9){
hover. style. left = 0 + 'px'
}
}
}, 20)
}
function stopTimer(){
clearInterval( newTimer);
}
for( let i = 0; i< lists. length; i++){
lists[ i]. onclick = function(){
var _index = i
stopTimer()
for( let j = 0; j< box. length; j++){
box[ j]. classList. remove( 'show')
}
box[ i]. classList. add( 'show')
hover. innerHTML = this. innerHTML
startTime( _index)
}
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值