2011-09-09 17 views
10

मैं एक अलग ऑब्जेक्ट पर होवर करके, होवर राज्य को दूरस्थ रूप से लागू करना चाहता हूं। लेकिन मैं उस ऑब्जेक्ट को नामित करना चाहता हूं जिसके पास होवर सक्रिय हो गया है, इसके बजाय इसे डोम रिलेशनशिप द्वारा आइटम पर रखा जा रहा है।आवेदन कैसे करें: किसी तत्व को होवर

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

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

मैं एक जावास्क्रिप्ट या jQuery विधि है कि आप दूर से एक तत्व करने के लिए होवर छद्म वर्ग प्रभाव लागू करने की अनुमति देता है नहीं मिला है (यानी यह की स्वतंत्र रूप से वास्तव में hovered जा रहा है)। क्या इसे करने का कोई तरीका है?

उत्तर

1

आप विशेष रूप से सीएसएस :hover छद्म चयनकर्ता मतलब है, तो एक ही तत्व केवल यह एक और पर ट्रिगर कर सकते हैं जहां तक ​​एक रिश्ते सीएसएस में स्थापित किया जा सकता है:

http://jsfiddle.net/tFSWt/

भाई बहन के रूप में उदाहरण:

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

पूर्वज/वंशज के रूप में उदाहरण:

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

नहीं तो आप संबंधित तत्व का चयन और इनलाइन स्टाइल से या तो पर शैली स्थापित करने के लिए जावास्क्रिप्ट पर भरोसा करने की आवश्यकता होगी, या एक वर्ग को जोड़कर कि उचित शैली प्रदान करता है।

+2

तो मुझे लगता है कि मेरे क्यू का संक्षिप्त जवाब है 'आप नहीं कर सकते'? : पी – Damon

+0

@ डैमन: यदि आपका मतलब जावास्क्रिप्ट से 'होवर' सीएसएस छद्म चयनकर्ता ट्रिगर करना है, तो दुर्भाग्यवश यह सही है, आप नहीं कर सकते। लेकिन आप * जावास्क्रिप्ट में माउस इवेंट्स के लिए हैंडलर परिभाषित कर सकते हैं और उनको ट्रिगर कर सकते हैं। – user113716

+0

हाँ .. यही मेरा मतलब था। मुझे कक्षाओं को जोड़ने/हटाने के बारे में पता है, लेकिन उम्मीद है कि मैं इसे अधिक सरल तरीके से कर सकता हूं। – Damon

3

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

<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

यह काम नहीं करेगा: http://jsfiddle.net/ekqCC/1/ –

+3

यह * सीएसएस होवर ट्रिगर नहीं करता है। – user113716

+2

लोग इसे क्यों मतदान कर रहे हैं? –

संबंधित मुद्दे

 संबंधित मुद्दे