2013-04-09 53 views

回答

1

Here is a working jsfiddle, using the last example below.

要做到這一點純粹與拉斐爾,這將是複雜的。這裏的基本思想是:

    在mouseout事件
  • ,使用Element.isPointInside()以確定是否鼠標移出被鏈接或離開箱體
  • 可以使用event.target觸發;事件被傳遞到鼠標移開回調
  • ,如果它是由鏈接觸發,然後簡單地忽略鼠標移開(你會得到另一個當它離開實際盒)在mousein事件
  • ,請確保您只觸發它如果從未來禁區外(當用戶來自鏈接回,你會得到另一個mousein事件)

在拉斐爾另一種方法是繪製在兩個鏈接和背景的透明包裝盒,並用它來觸發鼠標事件 - 包括點擊;這將大大降低複雜性。

如果您想作弊一點,而不是重新發明任何車輪,您可以使用現有的解決方案並將其集成到Raphael的代碼中。例如,你可以使用jQuery像這樣的東西觸發事件:

jQuery('#button').on('mouseenter', function() { xxd.stop().animate(...) } 
jQuery('#button').on('mouseleave', function() { xxd.stop().animate(...) } 

和去一個步驟,即靜脈遠,實在沒有理由在拉斐爾來管理這一點。只需使用Raphael創建和管理背景圖像,然後將剩下的放在jQuery或您最喜歡的庫中。

+0

謝謝你,小提琴的例子是appriciated :) – 2013-04-09 14:00:37