• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マウスポインタが砂時計に)

マウスポインタが砂時計に

このQ&Aのポイント
  • IE6で、マウスカーソルが砂時計になってチカチカする問題の解決方法を教えてください。
  • スクリプトを表示させると、マウスカーソルが砂時計になってチカチカします。チカチカしなくなるようにする方法を教えてください。
  • マウスポインタが砂時計になってチカチカする問題を解決したいです。オブジェクトはこれ以上軽くできません。

質問者が選んだベストアンサー

  • ベストアンサー
  • leap_day
  • ベストアンサー率60% (338/561)
回答No.2

こんにちは とりあえず質問の方ではそうなってるので大丈夫だと思いますがFirefox用に document.getElementById('rolling').style.left = calcX + "px"; document.getElementById('rolling').style.top = calcY + "px"; にしておいてくださいね(^^) 御察しの通り背景画像を何度も読み込んでいるのが原因と考えられます 解消法としてはrolling boxを覆ったものを移動させればいいです <style> .rolling_box { width: 196px; height: 204px; background-repeat: no-repeat; background-color: #CCCCCC; background-image:url("images/box_coming_soon.gif"); } #rolling { position: absolute; } </style> <div id="rolling"><div class="rolling_box" name="rolling1"> 1 </div></div> もしくは背景画像にしているということは上にテキスト文があるのだと思いますから<img>とtextの2つに分けてそれを同時に動かすとか <style> .rolling_box { width: 196px; height: 204px; position: absolute; background-color: #CCCCCC; } #rollings { position: absolute; } </style> </head> <body> <div id="rolling" class="rolling_box" name="rolling1"><img src="images/box_coming_soon.gif"></div> <div id="rollings" name="rolling2">1</div> </body> <script language="JavaScript"> var isshuu = 2880; var hankei = 289; var center_x = 291; var center_y = 343; function setPosition( pos ) { calcPos = ( 2 * 3.14 / isshuu * pos ) + ( 2 * 3.14 / 8 ); calcX = center_x - Math.round( hankei * Math.cos( calcPos ) ); calcY = center_y - Math.round( hankei * Math.sin( calcPos ) ); document.getElementById('rolling').style.left = calcX + "px"; document.getElementById('rolling').style.top = calcY + "px"; document.getElementById('rollings').style.left = calcX + "px"; document.getElementById('rollings').style.top = calcY + "px"; pos++; if ( pos == isshuu ) pos = 0; setTimeout( 'setPosition(' + pos + ')',50 ) ; } setPosition((isshuu/4)); </script>

blue_3s
質問者

お礼

>解消法としてはrolling boxを覆ったものを移動させればいいです 見事これで解決しました。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

本当にこれが原因ならグローバル変数しかないのでは? <script language="JavaScript"> var x = 10; var obj=document.getElementById('test').style; function hogehoge() { obj.left = x + "px"; x++; } setInterval ( 'hogehoge()',50 ) ; </script>

blue_3s
質問者

お礼

ご回答いただき、ありがとうございます。 いろいろとやっていたら、少し分って来ました。 以下がシンプルにしたソースです。 ハコ(rolling_box)が時計回りに動くというものです。 <html> <head> <style> .rolling_box { width: 196px; height: 204px; position: absolute; background-repeat: no-repeat; background-color: #CCCCCC; background-image:url(images/box_coming_soon.gif); } </style> </head> <body> <div class="rolling_box" id="rolling" name="rolling1">1</div> </body> <script language="JavaScript"> var isshuu = 2880; var hankei = 289; var center_x = 291; var center_y = 343; function setPosition( pos ) { calcPos = ( 2 * 3.14 / isshuu * pos ) + ( 2 * 3.14 / 8 ); calcX = center_x - Math.round( hankei * Math.cos( calcPos ) ); calcY = center_y - Math.round( hankei * Math.sin( calcPos ) ); document.getElementById('rolling').style.left = calcX; document.getElementById('rolling').style.top = calcY; pos++; if ( pos == isshuu ) pos = 0; setTimeout( 'setPosition(' + pos + ')',50 ) ; } setPosition((isshuu/4)); </script> </html> ここで、10行目のbackground-image:url(images/box_coming_soon.gif);をなくすとチカチカしなくなりました。 rolling_boxが動く度に画像を読み込みにいっているような感じにも見えました。 この辺になにかありそうなので、もうちょっと調べてみたいと思います。

blue_3s
質問者

補足

グローバル変数を使っていることが原因ということでしょうか? グローバル変数を使わないでちょっと試してみたいと思います。

すると、全ての回答が全文表示されます。

関連するQ&A