我正在寻找一种高性能且流畅的解决方案,用于在其内联块框内滚动其文本的链接,如选取框效果。
$(document).ready(function() {
function scroll(ele){
var s = $(ele).text().substr(1)+$(ele).text().substr(0,1);
$(ele).text(s);
}
scrollInterval = null;
function startScrolling(e) {
if (!scrollInterval) {
scrollInterval = setInterval(function(){
scroll(e)
},100);
}
}
function stopScrolling(e) {
clearInterval(scrollInterval);
scrollInterval = null;
}
$(".mali").hover(function(){
startScrolling($(this));
});
$(".mali").mouseout(function(){
stopScrolling($(this));
});
$(".mali").mousedown(function(){
stopScrolling($(this));
});
});
.mali {
display: inline-block;
background: black;
color: white;
padding: 10px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Something <a href="#" class="mali">something darkside</a>, Something something complete.
到目前为止,我的解决方案实际上是我在另一个线程的 stackoverlow 上找到的,并尝试使用它。
不过有两个问题。
1.)由于这基本上是使用间隔来循环单个字母,因此效果不是很平滑。效果是口吃。
有没有人知道如何使这更顺利?也许在那种情况下根本不使用这种方法,也许使用 CSS 过渡来为文本设置动画?
2.)有没有人有一个聪明的解决方案,一旦我悬停如何返回到初始状态?我想要悬停效果,但是当将鼠标从链接上移开时,它应该动画回到初始文本状态。
谢谢,马特
湖上湖
相关分类