2016-03-29 13 views
-1

イメージをクリックすると特定の操作を実行するJSが作成されました。 ATMすべてのイメージは個別にロードされ、次の関数で呼び出されます。JS onclickの問題がCSSスプライトの画像を呼び出す

多くのHTTPリクエストがあるため、ページのロードが比較的遅いということがあります。 私は50の小さなイメージファイルの代わりに1 cssスプライトを呼び出すようにページを変更することにしましたが、スプライトを介して読み込まれた個々のイメージを呼び出す方法を理解できません。 cssスプライトの画像の1つの呼び出しの例は、<i class="sprite sprite-sb31-choco"></i>

ありがとうございます。 よろしくお願いいたします。 Amir

+0

を、それが完全にロードされますので、スプライトは、それ自体が画像であるので、私は思います。しかし、 'background-position'を使ってスプライトの中に目的の画像を得ることができます。 [例のリンク](http://www.w3schools.com/cssref/pr_background-position.asp) – Abhi

+1

*「スプライトで読み込まれた個々の画像を呼び出す方法がわかりません」*あなたが目標を明確にすることはできますか? ?個々のイメージはありません。ただ1つの 'src'タグと1つのイメージしかありません。 –

+0

CSSスプライトを使用する - http://www.w3schools.com/css/css_image_sprites.asp –

答えて

0

私はあなたの質問を正しく理解していれば間違った方法で接近しているようです。あなたが必要とするのはイメージマッピングです。そのため、一度に画像全体を読み込んで、クリックする画像の部分をマップして何かを行うことができます。

<img src="planets.gif" width="145" height="126" alt="Planets" usemap="#planetmap"> 

<map name="planetmap"> 
    <area class="imgClick" shape="rect" coords="0,0,82,126" href="#" alt="Sun"> 
    <area class="imgClick" shape="circle" coords="90,58,3" href="#" alt="Mercury"> 
    <area class="imgClick" shape="circle" coords="124,58,8" href="#" alt="Venus"> 
</map> 

そしてhref属性はリダイレクト以外の何かをするには、以下のような何か必要なエリアタグに必須であるよう:

<script> 
    $(".imgClick").on("click", function(e){ 
     e.preventDefault(); 
     /* 
      your code here 
     */ 
    }); 
</script> 
+0

こんにちは、私は私のジレンマをよく説明しませんでした。下記のリンクを参考にしてください。ご覧のように、いずれかのボールをクリックすると、JSは選択した色をシミュレートするビジュアルオーバーレイを作成します。私は同じことをしたいと思いますが、多くの個々の画像を読み込む代わりに、ただ1つのスプライトだけを読み込みたいのです。私は画像マッピング@rmrinmoyのやり方をかなり理解していませんでした。明日、それが解決策になるかどうかを見ています。 cormilu.com.br/loja/diy/monte-seu-fio-de-luz/。あなたの助けをありがとう – amir

+0

この特定のものについては、マップは役立ちません。スプライトを使用し、クリック時にクリックされたオーバーレイの正しい位置を計算する必要があります。すべてのオーバーレイにクラスを指定し、クリックするとクラスを目的の要素に追加できます。そして、CSSではスプライトバックグラウンドの位置を変更し、連結クラスでそれを呼び出します。 – Roy