Javascript 如何在mouseleave上返回原始内部文本?

Javascript 如何在mouseleave上返回原始内部文本?,javascript,jquery,html,Javascript,Jquery,Html,我想随机化一个特定的id悬停字符。 它可以在鼠标输入时正常工作,但无法在鼠标离开时使其停止并返回到初始文本 这是密码 jQuery(函数($){ 函数文本_shuffle(){ “严格使用”; var counter=0,all=“abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzo123456789”; var$\u inter=setInterval(函数(){ var text=document.getElementById(“文本洗

我想随机化一个特定的id悬停字符。 它可以在鼠标输入时正常工作,但无法在鼠标离开时使其停止并返回到初始文本

这是密码

jQuery(函数($){
函数文本_shuffle(){
“严格使用”;
var counter=0,all=“abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzo123456789”;
var$\u inter=setInterval(函数(){
var text=document.getElementById(“文本洗牌”);
text.innerHTML=text.innerHTML.substring(0,计数器)+all.charAt(Math.floor(Math.random()*all.length))+text.innerHTML.substring(计数器+1);
计数器=(计数器+1)%text.innerHTML.length;
}, 100);
}
$(“#文本洗牌”).mouseenter(文本洗牌);
});


主页
您需要在mouseleave上清除间隔。您没有调用mouseleave函数,因此您的代码会无限期地扰乱div中的字符

我所做的只是将间隔设置为一个变量,然后清除mouseleave上的变量

jQuery(函数($){
all=“abcdefghijklmnopqrstuvwxyzabefghijklmnopqrstuvxyz012456789”;
var-int;
var计数器=0;
函数textShuffle(){
var text=document.getElementById(“文本洗牌”);
text.innerHTML=text.innerHTML.substring(0,计数器)+all.charAt(Math.floor(Math.random()*all.length))+text.innerHTML.substring(计数器+1);
计数器=(计数器+1)%text.innerHTML.length;
}
$(“#文本洗牌”).hover(函数(){
int=设置间隔(textShuffle,100);
},函数(){
清除间隔(int);
document.getElementById(“文本洗牌”).innerText=“Home”;
});
});


主页
使用
clearInterval
停止随机字符,当鼠标用完文本时替换原始文本

jQuery(函数($){
函数文本_shuffle(){
“严格使用”;
var counter=0,all=“abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzo123456789”;
$\u inter=setInterval(函数(){
var text=document.getElementById(“文本洗牌”);
text.innerHTML=text.innerHTML.substring(0,计数器)+all.charAt(Math.floor(Math.random()*all.length))+text.innerHTML.substring(计数器+1);
计数器=(计数器+1)%text.innerHTML.length;
}, 100);
}
var值,$\u inter;
$(“#文本洗牌”).mouseenter(函数(){
value=$(this.html();
text_shuffle();
}).
mouseout(函数(){
净空间隔($_inter);
$(this.html(value);
});
});

主页
(function(){

'use strict';

var all  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
    elem = document.getElementById("text-shuffle"),
    orig = elem.innerHTML;

var $_inter;
function text_shuffle()
{ 
    var counter = 0;
    $_inter = setInterval( function()
    {
        elem.innerHTML = elem.innerHTML.substring(0, counter) + all.charAt(( Math.random() * all.length ) | 0 ) + elem.innerHTML.substring(counter + 1);
        counter = (counter+1) % elem.innerHTML.length;
    }, 100);
}

function clear() { clearInterval( $_inter ); elem.innerHTML = orig };

$("#text-shuffle").hover( text_shuffle, clear )

}())