2011-12-09 17 views
0
$('#spanContainingImage').hover(function() { 
      //$(this).css('cursor',"vertical-text");//this works 
      console.log('hover');//this is called 
      $(this).css('cursor', "url('http://localhost:12062/Content/themes/base/images/G.cur')");//this fails 
     }); 

URLをハードコーディングしようとしましたが、カーソルをURLで変更することができません。どうしましたか?MVC3でカーソルcssを設定する適切な方法は何ですか?

+1

ブラウザでhttp:// localhost:12062/Content/themes/base/images/G.curにアクセスするとどうなりますか? IIS/IISExpress/Cassiniには.cur拡張子のMIMEタイプがありますか? – danludwig

+0

@olivehour - 空白のページが表示されます。私は悪いイメージ名 '/ badimage.no'でディレクトリにアクセスしようとしましたが、エラーが発生しました。 –

+2

フォルダにbadimage.noという名前のファイルがない場合は、HTTP 404エラーが発生します。しかし、最初に確認するのは、サーバーが.cur拡張子のMIMEタイプを理解していないため、画像が表示されていないかどうかです。 – danludwig

答えて

1

は言う:

[...]ゼロ以上のURLが指定されてもよい(コンマ区切り)、必須 の後には、CSS仕様で定義されているキーワードの1つ、たとえばautoまたはpointerの が続きます。

だから私は今、それが動作します私のjQueryの

var url = 'url(@Url.Content("Content/themes/base/images/G.png")), auto';    
$(this).css('cursor', url); 

auto修飾子を追加しました。

IE6との互換性を維持するためには、.CURと.ANIに固執しなければならないことにも注意してください(IE7のリストが欲しい)。

+0

ハードコードされたファイルではなく、ファイルへの相対パスを使用する必要があります –

+0

@bobek良い点。あなたの答えに+1してください。 –

1

試してみてください。

$('#spanContainingImage').hover(function() { 
      //$(this).css('cursor',"vertical-text");//this works 
      console.log('hover');//this is called 
      $(this).css('cursor', "url(" + '@Url.Content("~/Content/themes/base/images/G.cur")' + ")");//this fails 
     }); 
+0

まだ行きません。どちらの場合でも、Firebugコンソールウィンドウにエラーは表示されません。 –

+0

これをコンソールで実行しようとしましたか? '$( '#spanContainingImage')。css( 'カーソル'、 'url(" pathhere ")');'ライブサーバーにファイルを置き、そのパスを使用します –

0

ちょうどW3Schoolsの上の作業例を見上げました。 URLを引用せずに試しましたか?すなわち

URL(のhttp:// localhostを:12062 /コンテンツ/テーマ/ベース/画像/ G.png)

代わりの

URL( 'のhttp:// localhostを:12062 /コンテンツ/テーマ/ベース/画像/ G.png ')いくつかの研究MDN

+0

URLを直接訪問すると画像が表示されます。カーソルは変更されません。 AFAIKでは、* .curファイルを使用してカーソルイメージを変更する必要があります。 –

+0

私は混乱しています:URLを直接訪問してイメージを表示するかどうかあなたはあるコメントではそう、別のコメントではそうはないと言った。 – danludwig

+0

イメージの.curバージョンへの直接訪問は*表示されません*。イメージの.pngバージョンへの直接訪問が表示されます。 –

関連する問題