2010-06-22 271 views
0

我想用jquery「rotateAnimation」旋轉圖像並嘗試添加一個函數到 顯示每個圖像點擊一個警報消息。警告消息適用於除了我使用jquery rotateAnimation方法旋轉過的所有圖像。單擊事件不工作jQuery中旋轉動畫附加圖像

<div style="position:absolute;top:180px;left:165px;"> 
    <img id="image10" src="Green.png" class="clFree" alt="1" border="0"> 
    <img id="image11" src="Green.png" class="clFree" alt="2" border="0"> 
    <img id="image12" src="Green.png" class="clFree" alt="3" border="0"> 
    <img id="image13" src="Green.png" class="clFree" alt="4" border="0"> 
    </div> 


    <div style="position:absolute;top:178px;left:125px;"><img id="image31" src="Green.png" alt="first" border="0"></div> 
    <div style="position:absolute;top:175px;left:100px;"><img id="image30" src="Green.png" alt="first" border="0"></div> 

    <div style="position:absolute;top:172px;left:75px;"><img id="image29" src="Green.png" alt="first" border="0"></div> 
    <div style="position:absolute;top:168px;left:50px;"><img id="image28" src="Green.png" alt="first" border="0"></div> 
    <div style="position:absolute;top:160px;left:22px;"><img id="image27" src="Green.png" alt="first" border="0"></div> 
    <div style="position:absolute;top:145px;left:-2px;"><img id="image26" src="Green.png" alt="first" border="0"></div> 
    <div style="position:absolute;top:120px;left:-15px;"><img id="image25" src="Green.png" alt="first" border="0"></div> 
    <div style="position:absolute;top:95px;left:-22px;"><img id="image24" src="Green.png" alt="first" border="0"></div> 

    <div title="center" style="position:absolute;top:68px;left:-25px;"><img id="image23" class="clNotFree" src="Red.png" alt="center" border="0"></div> 

    <div style="position:absolute;top:40px;left:-22px;"><img id="image22" src="Green.png" alt="first" border="0"></div> 
    <div style="position:absolute;top:15px;left:-15px;"><img id="image21" src="Green.png" alt="first" border="0"></div> 
    <div style="position:absolute;top:-6px;left:2px;"><img id="image" src="Green.png" alt="first" border="0"></div> 

    <div style="position:absolute;top:-20px;left:25px;"><img id="image1" src="Green.png" title="fff" alt="f1" border="0"></div> 
    <div style="position:absolute;top:-30px;left:50px;"><img id="image2" src="Green.png" alt="2" border="0"></div> 
    <div style="position:absolute;top:-35px;left:75px;"><img id="image3" src="Green.png" alt="3" border="0"></div> 
    <div style="position:absolute;top:-35px;left:100px;"><img id="image4" src="Green.png" alt="4" border="0"></div> 
    <div style="position:absolute;top:-35px;left:125px;"><img id="image5" src="Green.png" alt="5" border="0"></div> 
    <div style="position:absolute;top:-35px;left:150px;"><img id="image6" src="Green.png" alt="6" border="0"></div> 
    <div style="position:absolute;top:-35px;left:175px;"><img id="image7" src="Green.png" alt="7" border="0"></div> 
    <div style="position:absolute;top:-32px;left:212px;"><img id="image8" src="Green.png" alt="33" border="0"></div> 
    <div style="position:absolute;top:-32px;left:235px;"><img id="image9" src="Green.png" alt="34" border="0"></div> 

    <div style="position:absolute;top:-32px;left:235px;"> 
    <img id="image10" src="Green.png" alt="1" border="0"> 
    <img id="image11" src="Green.png" alt="2" border="0"> 
    <img id="image12" src="Green.png" alt="3" border="0"> 
    <img id="image13" src="Green.png" alt="4" border="0"> 
    </div> 

這裏是jQuery腳本

<script type="text/javascript"> 
    $(document).ready(function() 
    { 
     $('#image').rotateAnimation({angle:-35}); 
     $('#image1').rotateAnimation({angle:-25}); 
     $('#image2').rotateAnimation({angle:-16}); 
     $('#image3').rotateAnimation({angle:-14}); 
     $('#image4').rotateAnimation({angle:-12}); 
     $('#image5').rotateAnimation({angle:-10}); 
     $('#image6').rotateAnimation({angle:-8}); 
     $('#image7').rotateAnimation({angle:-6}); 

     $('#image21').rotateAnimation({angle:-60}); 
     $('#image22').rotateAnimation({angle:-80}); 

     $('#image23').rotateAnimation({angle:-90}); 

     $('#image24').rotateAnimation({angle:-100}); 
     $('#image25').rotateAnimation({angle:-110}); 
     $('#image26').rotateAnimation({angle:-130}); 
     $('#image27').rotateAnimation({angle:-150}); 
     $('#image28').rotateAnimation({angle:-160}); 
     $('#image29').rotateAnimation({angle:-170}); 
     $('#image30').rotateAnimation({angle:-175}); 
     $('#image31').rotateAnimation({angle:-180}); 

     $("img:not([title])").each(function() { 
     $(this).attr("title", $(this).attr("alt")) 
     }) 

     $("img").live("click",function(e) { 

     // Methode to alert image ID 

     }); 

    }); 

請指點。我是很新的JQuery的

+0

你在使用插件'rotateAnimation'?如果它在畫布上重現圖像,那麼您將不得不使用不同的點擊方法。它應該像你使用CSS3一樣工作......但在IE中完全沒有問題 – Mottie 2010-06-22 11:55:53

+0

我使用jQueryRotate.js插件來旋轉 – NjL 2010-06-22 12:11:49

回答

0

plugin you're using實際上破壞了<img>併爲它做什麼(對於IE或<rvml:image>元素)使用<canvas>但它與原來的<img>左右逢源的ID包中<span>的元素,所以您可以使用.live()處理與attribute-starts-with selector這樣的:

$("span[id^='image']").live("click", function() { 
    alert(this.id); 
}); 
+0

是的!它的工作現在。非常感謝Nick.you是一個拯救生命的人!你如何發現它被span包裹?任何工具來做到這一點? – NjL 2010-06-22 13:10:05

+0

@NjL - 只需查看代碼:)您也可以在瀏覽器中加載它,並使用可用的工具,FireBug,Chrome,IE Developer Tools等查看腳本的效果。 – 2010-06-22 13:13:53