วิธีการคือการใช้ javascript เพิ่ม property top และ left จากนั้น image จะทำงานก็ต่อเมื่อมีเม้าส์วางอยู่เหนือรูปด้วย property onMouseover หากทำการนำเม้าส์เลื่อนออกจากรูปฟังชั่น stoprattle() ก็จะทำงานเนื่องจาก property onMouseout

HTML

<img src="รูปภาพที่ต้องการ" class="shakeimage" onMouseover="init(this);rattleimage()" onMouseout="stoprattle(this)"> 

CSS

.shakeimage{
position:relative;
}

JS

//configure shake degree (where larger # equals greater shake)
var rector=3

///////DONE EDITTING///////////

var stopit=0
var a=1

function init(which){
stopit=0
shake=which
shake.style.left=0
shake.style.top=0
}

function rattleimage(){
if ((!document.all&&!document.getElementById)||stopit==1)
return

if (a==1){
shake.style.top=parseInt(shake.style.top)+rector
}else if (a==2){
shake.style.left=parseInt(shake.style.left)+rector
}

else if (a==3){
shake.style.top=parseInt(shake.style.top)-rector
}else{
shake.style.left=parseInt(shake.style.left)-rector
}

if (a<4)
a++
else
a=1
setTimeout("rattleimage()",50)
}

function stoprattle(which){
stopit=1
which.style.left=0
which.style.top=0
}

Comments