js代码块
spellingSollt() { var scrollDiv = $("#spelling"), $ul = scrollDiv.find("ul"), $li = scrollDiv.find("li"), $length = $li.length, $liHeight = $li.height(), num = 0; if(scrollDiv.length == 0) { return; } if($length > 1) { $ul.append($li.eq(0).clone()); setInterval( function() { num++; // * (num) 样式错乱老是会留下间隙 问题就出在num元素里面 这个是控制元素偏移量 $ul.addClass("animate").css("-webkit-transform", "translateY(-" + $liHeight+ "px)"); setTimeout( function() { if(num == $length) { $ul.removeClass("animate").css("-webkit-transform", "translateY(0)"); num = 0; } }, 80); }, 3000); } },
html
<div class="spelling-box" id="spelling" v-if='spellingArr.length > 1'> <ul> <li class="spelling-box-list" v-for="(item,index) in spellingArr"> <div class="spelling-box-list-left"><img :src="item.image" alt=""></div> <div class="spelling-box-list-text"> <div class="spelling-box-list-xxi"> <div>{{item.name}}</div> <div class="spelling-time1" :data-time="item.time">{{item.time}}</div> </div> <div>还差{{item.age}}人完成拼单</div> </div> <div class="spelling-box-list-right"> <div @click="spellingSollt()"><span>去拼单</span></div> </div> </li> </ul> </div>