2011-12-19 14 views
51

क्या जावास्क्रिप्ट का उपयोग किए बिना होवर ईवेंट में देरी करने का कोई तरीका है? मुझे पता है कि एनीमेशन में देरी करने का एक तरीका है, लेकिन मैंने इसमें देरी करने पर कुछ भी नहीं देखा है: होवर इवेंट।विलंब: CSS3 में होवर?

संपादित ...

क्षमा करें, मैं इस ... मैं मेनू की तरह एक बेटे-ऑफ-द Suckerfish निर्माण कर रहा हूँ के साथ शुरू करने के लिए शामिल किया जाना चाहिए था। मैं अतिरिक्त जेएस वजन जोड़ने के बिना क्या होवर इंंटेंट अनुकरण करना चाहता हूं। मैं इसे एक प्रगतिशील वृद्धि के रूप में पेश करना पसंद करूंगा और जेएस को मेनू का उपयोग करने की आवश्यकता नहीं बनाऊंगा।

यहाँ अंतिम कोड है अपडेट किया गया ... http://jsfiddle.net/aEgV3/

सभी मदद के लिए धन्यवाद!

+1

दिलचस्प सवाल जोड़ देगा, लेकिन मुझे लगता है 'नहीं; दुर्भाग्यवश, जावास्क्रिप्ट के बिना 'जवाब होने की संभावना है। –

उत्तर

107

खैर .. आप अगर प्रभाव सीएसएस आधारित है, :hover प्रभाव आप चाहते हैं देरी करने के लिए संक्रमण का उपयोग कर सकते हैं ..

उदाहरण

div{ 
    transition: 0s background-color; 
} 

div:hover{ 
    background-color:red;  
    transition-delay:1s; 
} 

इस हॉवर प्रभाव को लागू करने में विलंब होगा के लिए (background-color इस मामले में) एक सेकंड के लिए। दोनों पर देरी के


डेमो पर जाएँ और बंद पर पर केवल हॉवर पर देरी के http://dabblet.com/gist/1498443

डेमो http://dabblet.com/gist/1498446


Vendor Specific Extentions for Transitions और W3C CSS3 transitions

+1

आप पूर्णता के लिए अपने उत्तर में ब्राउज़र उपसर्ग जोड़ना चाहेंगे। – ThinkingStiff

+0

@ थिंकिंगस्टिफ़, अच्छा बिंदु .. एमडीएन –

+0

में जोड़ा गया संदर्भ मैंने अपना प्रश्न अपडेट किया ... मुझे यकीन नहीं है कि मेरे मामले में कोई संक्रमण काम करेगा या नहीं। मेरे पास स्क्रीन के उप मेन्यू हैं और होवर पर जगह पर रखा जा रहा है। –

0

एक और अधिक सौंदर्य उपस्थिति के लिए कम से :) हो सकता है:

left:-9999em; 
top:-9999em; 

.sNv2 .nav UL के लिए पद के लिए .sNv2 .nav LI:Hover UL

4
div { 
    background: #dbdbdb; 
    -webkit-transition: .5s all; 
    -webkit-transition-delay: 5s; 
    -moz-transition: .5s all; 
    -moz-transition-delay: 5s; 
    -ms-transition: .5s all; 
    -ms-transition-delay: 5s; 
    -o-transition: .5s all; 
    -o-transition-delay: 5s; 
    transition: .5s all; 
    transition-delay: 5s; 
} 

div:hover { 
    background:#5AC900; 
    -webkit-transition-delay: 0s; 
    -moz-transition-delay: 0s; 
    -ms-transition-delay: 0s; 
    -o-transition-delay: 0s; 
    transition-delay: 0s; 
} 

z-index:-1 और z-index:1 द्वारा बदला जा सकता है यह एक संक्रमण देरी है, जो लगभग हर ब्राउज़र के लिए लागू किया जाएगा ..