私は写真家であり、コードの専門家ではありませんが、この作業を行うためにしばらく努力してきました.256色とそれに伴うピクセル化/ノイズの制限なしでGIFの効果を実現するアニメーション画像です. . 固定 div 内の背景画像を変換することで機能します。Javascript は下にあり、私の画像の 1 つで動作する方法は、ここにありますhttp://jsfiddle.net/MXWgZ/
HTML:
<div id='image_box' onmouseover='start_rotate();' onmouseout='stop_rotate();'></div>
CSS
#image_box {
margin-left:20px;
width:533px;
height:800px;
background-image:url('http://www.studioprivate.co.uk/droguslong2.jpg');
background-repeat:no-repeat;
background-position:0px;}
ジャバスクリプト:
var curr_pos = 0; //current background-position
var timer_id = 0;
function rotate_img() {
if (curr_pos == -13858) curr_pos = 0; //if 360 degree done
else curr_pos = curr_pos - 533;
$("#image_box").css("background-position", curr_pos + "px"); //move bacground to the left by 533px
if (curr_pos == -13858) curr_pos = 0;}
function start_rotate() {
timer_id = setInterval(rotate_img, 80);}
function stop_rotate() {
clearInterval(timer_id);}
今では、最初にまっすぐジャンプするのではなく、一瞬だけ白い背景が表示されるように見える最後に到達したときを除いて、正常に動作します. これを取り除く方法はありますか?流れを乱す感じです。
もう 1 つの質問は、別のイベント onclick を追加して、画像をクリックしたときに背景画像が別の画像に置き換えられ、上記のようにアニメーション化されるようにすることはできますか? それは私のコードのどこに行きますか?
ありがとうございました!