2011-09-09 24 views
10

Farklı bir nesneyi fareyle üzerine getirerek, geçiş durumunu uzaktan uygulamak istiyorum. Ancak, hover'ın üzerinde durduğu öğeyle DOM ilişkisi olması yerine, vurgunun etkinleştirildiği nesneyi adlandırmak istiyorum.Nasıl başvurulur: öğenin üzerine gelin.

<style> 
img:hover {border: thin red solid;} 
</style> 

<li id="hover-over-me">Dogs</li> 
<img src="dog.jpg" /> 

Ben (yani bağımsız bunun aslında süpürdü ediliyor) uzaktan bir öğeye vurgulu sözde sınıfı efekti uygulamak için izin veren bir javascript veya jquery yöntemini bulamadı. Bunu yapmanın bir yolu var mı?

http://jsfiddle.net/tFSWt/

: Bir ilişki CSS kurulmuş olabildiği sürece

cevap

1

, sonra bir eleman sadece başka bir bilgisayarda tetikleyebilir Kardeş olarak örnek:

atası/soyundan olarak 0
<span>Sibling </span><img src = "http://dummyimage.com/120x90/f00/fff.png&text=my+image" /> 

img:hover { border: 2px dashed blue; } 
span:hover + img { border: 2px dashed blue; } 

örnek:

<span>Parent 
    <img src = "http://dummyimage.com/120x90/f00/fff.png&text=my+image" /> 
</span> 

img:hover { border: 2px dashed blue; } 
span:hover img { border: 2px dashed blue; } 

Aksi takdirde, ilgili öğeyi seçin ve satır içi stil yoluyla ilgili stilini ayarlamak için JavaScript güvenmek gerektiğini, aksi bir sınıf ekleyerek o uygun stil sağlar.

+2

çok kötü yani benim q için kısa cevap 'sen yapamazsın'? : p – Damon

+0

@Damon: Eğer ": hover" CSS sözde seçici JavaScript'i tetiklemek istiyorsanız, maalesef bu doğru olamaz. Ama siz * JavaScript'te fare olayları için işleyicileri tanımlayabilir ve bunları tetikleyebilirsiniz. – user113716

+0

evet .. demek istediğim buydu. Ders ekleme/çıkarma hakkında biliyorum, ancak daha kolay bir şekilde yapabileceğimi umuyordum. – Damon

3

http://sandbox.phpcode.eu/g/3304b

Özellikle CSS :hover sözde seçici kastediyorsan
<style> 
img:hover,img.hovered {border: 5px red solid;} 
</style> 
<ul> 
    <li id="hover-over-me">Dogs</li> 
</ul> 
<img src="http://4.bp.blogspot.com/_7VyEDKFMA2U/TOX9ZL7KRPI/AAAAAAAAACM/-XSoYjePBPk/s1600/cute-puppy-dog-wallpapers.jpg" /> 
<script> 
$("li").mouseenter(function(){ 
    $("img").addClass('hovered'); 
}); 

$("li").mouseout(function(){ 
    $("img").removeClass('hovered'); 
}); 


</script> 
+2

Bu işe yaramayacaktır: http://jsfiddle.net/ekqCC/1/ –

+3

Bu, * bir CSS gezgini tetiklemez *. – user113716

+2

İnsanlar neden bu kadar oy kullanıyor? –

İlgili konular