###背景
twitterやreditでは、マウスホバーでその情報がバルーン表示されるという下図のような機能があり、この情報の取得はajaxで実装されているように思われます。
###質問
質問ですが、ここでホバーされるHTMLに、次のようにdata-user
というデータ属性にしたjsonで情報を持たせておくのはいかがなものでしょうか?
<a href="/user/smith" data-user="'{"age":"20","avatar="<img src="http://example.com/images/" class="avatar" alt="">""}'"> smith </a>
そしてホバー時にHTMLに成型し、それをバルーン表示します。
js
1$('a').hover( 2 function() { 3 // ホバーでバルーン表示 4 var userData = JSON.parse( $(this).attr('data-user') ) 5 var userHTML = ` 6 <div id="userHTML"> 7 <p>年齢:${userData.age}</p> 8 ${userData.avatar} 9 </div>`; 10 $(this).after( userHTML ); 11 }, 12 function() { 13 // 非表示 14 $('#userHTML').remove(); 15 } 16);
こうすると、ajaxで通信完了するまでのまどろっこしさがなく、jsonをHTMLに成型するだけで瞬時にバルーン表示できると考えたのですが、なぜこうなっていないのか不思議です。
もちろんホバーされる前から不要かもしれない情報を取得しておくのもどうかと思うのですが、しかし個人的にはホバー時に瞬時にバルーンが表示される方が良さげに感じます。
みなさんはいかが思われますか?
何かデメリットや問題等ございますでしょうか?
回答1件
あなたの回答
tips
プレビュー