http://tha.jp/works
の写真にホバーした際に動くテキストの動きは
どのように実現されているのでしょうか?
bundle.jsで動いているようですが中身を見てもちょっとどういう仕組みかわからず・・
他サイトでカスタマイズして使用したいのですが
どなたかおわかりになりますでしょうか??
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
動きさえなんとなくエミュレートすれば自力で書けそうですよね
超てきとーに書いてみました
javascript
1<script> 2$(function(){ 3 var flgs={}; 4 var rnd=setArr(); 5 function setArr(){ 6 var arr=[]; 7 arr=arr.concat(Array(10).fill(null).map(function(x,y){return String.fromCharCode(y+48);})); 8 arr=arr.concat(Array(26).fill(null).map(function(x,y){return String.fromCharCode(y+65);})); 9 arr=arr.concat(Array(26).fill(null).map(function(x,y){return String.fromCharCode(y+97);})); 10 return arr; 11 } 12 $('.hoge').on('mouseover',function(){ 13 var targetid=$(this).data('target'); 14 var target=$('#'+targetid); 15 if(!flgs[targetid]){ 16 flgs[targetid]=true; 17 target.data('text',target.text()).html('~'.repeat(target.text().length)); 18 var cnt=0; 19 var speed=1.5; 20 var timerId=setInterval(function(){ 21 var len=target.data('text').length; 22 var offset=parseInt(cnt/len/speed); 23 var txt=target.data('text').substr(0,offset)+rnd[parseInt(rnd.length*Math.random())]+'~'.repeat(len-offset); 24 target.html(txt); 25 cnt++; 26 if(parseInt(cnt/len/speed) > len){ 27 flgs[targetid]=false; 28 target.html(target.data('text')); 29 clearInterval(timerId); 30 } 31 },1); 32 } 33 }); 34}); 35</script> 36<img src="" width=200 height=200 alt="test" class="hoge" data-target="fuga"><br> 37<span id="fuga">this is a pen</span><br> 38<img src="" width=200 height=200 alt="test" class="hoge" data-target="piyo"><br> 39<span id="piyo">i am a chanpion</span> 40
投稿2019/01/11 10:57
編集2019/01/11 11:05総合スコア114769
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/12 10:34