つまらないものですが申し訳ないですが、今回はおもいきってjsdo.itというサイトに登録してみました。すごく便利ですね!
html
この通り何のへんてつもないリストがあります。
canvasタグはjQueryで追加します。
<ul class="icon"> <li>item01</li> <li>item02</li> <li>item03</li> <li>item04</li> <li>item05</li></ul>css
リストの画像は普通cssの背景画像で指定しますが、背景画像にcanvasはたぶん指定できませんので、liの直下にcanvasを入れます。
細かい調整はcanvasのtopやleftで修正してください。
ul.icon { list-style: none;}ul.icon li { position: relative; margin-bottom: 0.5em;}ul.icon li canvas { position: absolute; top: 0.3em; left: -13px;}JavaScript
要素の取得とかにjQueryを使用しております。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script><script type="text/javascript">$(function() { var list = $('ul.icon li'); list.prepend('<canvas width="20" height="20" />'); var ctx = null;
list.each(function (i) { var canvas = $('canvas', list).get(i); ctx = canvas.getContext('2d'); drawIcon(); });
/* アイコン描画 ================ */ function drawIcon() { //丸 ctx.beginPath(); ctx.arc(6, 10, 6, 0, Math.PI*2); ctx.fillStyle = 'rgb(50, 150, 255)'; ctx.fill(); //三角 ctx.beginPath(); ctx.moveTo(5, 7); ctx.lineTo(8, 9); ctx.lineTo(5, 12); ctx.closePath(); ctx.fillStyle = 'rgb(255, 255, 255)'; ctx.fill(); }});</script>アイコンを描いているのは16行目あたりの「drawIcon」ですので、ここをカスタマイズすることでオリジナルのアイコンにできます。


