2016-03-29 15 views
-1

Bir görüntüyü tıklattığınızda belirli bir eylem gerçekleştiren bir JS oluşturdum. ATM tüm resimler bu fonksiyonu ile ayrı ayrı yüklenir ve denir:JS onclick issue css sprite görüntülerini çağırmak için

var array_colors = []; 
$('#input_59_20 > li.active').each(function(index){ 
    var img = $(this).find('img').attr('src'); 
    array_colors.push(img); 
});` 

şey olduğunu pek http isteklerini olduğu gibi sayfa yükleri nispeten yavaş. Bu yüzden, sayfayı 50 küçük resim dosyası yerine 1 css sprite üzerinde çağırmaya karar verdim, ancak hareketli grafik aracılığıyla yüklenen tek tek görüntüleri nasıl arayacağımı anlayamıyorum. css sprite öğelerinin görüntülerinden biri için örnek bir çağrı: <i class="sprite sprite-sb31-choco"></i>

Yardımın için teşekkürler. Saygılarımızla, Amir

+0

başlı başına bir resim olduğundan tamamen yükleyecektir . Ancak, istenen görüntüyü 'background-position' kullanarak hareketli grafiğe alabilirsiniz. [ÖRNEK LİNK] (http://www.w3schools.com/cssref/pr_background-position.asp) – Abhi

+1

* "hareketli grafiğe yüklenen tekil görüntüleri nasıl arayacağınızı anlayamaz" * hedefinizin ne olduğunu açıklayabilir misiniz? ? Bireysel görüntü yok, sadece bir 'src' etiketi ve bir görüntü var. –

+0

CSS Sprite'ları kullanın - http://www.w3schools.com/css/css_image_sprites.asp –

cevap

0

Sorularınızı doğru anlıyorsam, yanlış bir şekilde yaklaşıyorsunuz gibi görünüyor. İhtiyacınız olan şey resim haritalamadır. Böylece, tüm görüntüyü tek seferde yükleyebilir ve resmin üzerine tıklanacak ve bir şeyler yapabilecek kısımlarını haritalayabilirsiniz.

<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> 

Ve href niteliği olarak aşağıdaki gibi bir şeye ihtiyacım alan etiketinde zorunludur yönlendirmeden başka bir şey yapmak için aşağıdaki:

Ben sprite beri düşünüyorum
<script> 
    $(".imgClick").on("click", function(e){ 
     e.preventDefault(); 
     /* 
      your code here 
     */ 
    }); 
</script> 
+0

Merhaba, ikilemimi iyi açıklayamadığım için üzgünüm. Örnek olarak aşağıdaki bağlantıya bakınız. Gördüğünüz gibi, bir topun üzerine tıkladığınızda, seçilen renklerin simüle edildiği bir görsel yer paylaşımı oluşturuyor. Aynı şeyi yapmak isterdim, ama sadece tek bir resim yüklemek yerine sadece 1 tane sprite yüklemek istiyorum. Görüntü eşlemesinin nasıl yapıldığını tam olarak anlamadım. @rmrinmoy, Bunun bir çözüm olup olmadığını görmek için yarın bir göz atacağım. cormilu.com.br/loja/diy/monte-seu-fio-de-luz/. Yardımınız için teşekkürler – amir

+0

Bu özel bilgi için harita size yardımcı olmaz. Sprite kullanmanız ve tıklanan katmanın tıklamadaki doğru konumunu hesaplamanız gerekir. Her bindirmeyi bir sınıfa verebilirsiniz ve tıklatarak sınıfı istenen öğeye ekleyebilirsiniz. Ve CSS'de sprite arka plan konumu, onu birleştirilmiş sınıfla değiştirir. – Roy