特定のグラフィック (背景画像クラスでアンカーを使用しています) を持つメイン メニュー リンク (私たちについて、連絡先など) をアニメーション化する必要があります。キャンバスが特定の div (私のメニュー) をアニメーション化する最良の方法であるかどうか疑問に思っています。クリックした後、100px上下に移動したいだけです。例: [プロジェクト] をクリックすると、アンカー (画像付き) が 100 ピクセル下に移動します。"About Us" をクリックすると、"Projects" リンクが上 (元の位置) に移動し、"About us" が 100px 下に移動します。
キャンバスはそれを行う正しい方法ですか? css3 transitions/animate も使用できますが、IE9 はサポートされていません。IE9 でサイトを正しくレンダリングできるようにしたい。
これには、キャンバスまたは何らかの JavaScript プラグインを使用しますか? (トップピクセルを変更し続ける相対/絶対配置でプレーンなjavascriptを使用することもできますが、その結果は好きではありません)。私がプレーンなJavaScriptで使用したのはこれでした:
私のメニュー:
<div id="menu">
<ul class="nav">
<li><a href="#" class="projects" id="projects" onclick="move()"></a>
</li>
<li><a href="#" class="aboutus"></a>
</li>
<li><a href="#" class="contact"></a>
</li>
</ul>
私のCSS:
a.projects
{
width: 184px;
height: 32px;
background: url('css-images/projects.png') no-repeat;
position: absolute;
}
#menu
{
position:relative;
}
私のJavaScript:
function move(){
var proj = document.getElementById("projects");
var count = 0;
var id = setInterval(loop, 30);
function loop(){
proj.style.top = count + "px";
var max = 100;
count+=10;
if(count >= max){
clearInterval(id);
}
}
}