javascript - ie - css - 動態更新滑鼠指標形狀

來源:互聯網
上載者:User

標籤:

最近寫了一個圖片展示的頁面,在彈出層中顯示大圖,在大圖的左邊和右邊點擊時可以翻頁。

將滑鼠在大圖上移動時,移動到左邊顯示一個向左的箭頭,移動到右邊時顯示一個向右的箭頭。

當第一次顯示大圖時,如果滑鼠位置在大圖上,初始化顯示一個向左或向右的箭頭。

 

關於滑鼠在大圖上移動,動態更新滑鼠指標,這個沒什麼問題,使用 img.onmousemove = function(){img.className=...}就可以搞定。

 

我遇到的問題是在IE瀏覽器上第一次顯示大圖的時候,初始化滑鼠指標形狀,下面是一個樣式表(css):

12 .cursor_left {cursorurl(/images/left.cur), pointer}.cursor_right {cursorurl(/images/right.cur), pointer}

我在 img.onload 事件中來初始化滑鼠指標形狀, 直接設定 img.className = "...", 在chrome,firefox瀏覽器上能正常的顯示自訂的滑鼠指標形狀。但在 ie(6,8)瀏覽器上無法顯示出箭頭。

經過幾個小時的不斷測試,最後發現有ie上,使用 img.style.cursor = "url(....)"; 有效果。

好吧,javascript的代碼,針對ie瀏覽器:

12345 img.style.cursor = "url(/images/left.cur)";img.className = "cursor_left";  //如果同時指定的了 img.style.cursor 和 img.className, img.style.cursor 的最佳化級高於 img.className, 所以這裡必須加上這麼一句img.style.cursor = "";

這裡需要注意,最後加上一句: img.style.cursor = ""; 不然,在後繼的 img.onmousemove 事件中設定 img.className 會無效。我猜測是優先順序問題。

 

2014-05-30

javascript - ie - css - 動態更新滑鼠指標形狀

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.