2013-12-13 10 views
6

मैं div होवर पर बटन दिखाना चाहता हूं। जब मैं div पर माउस होवर करता हूं तो बटन अन्यथा छुपाएं दिखाएं।div माउस होवर पर बटन कैसे दिखाएं

divbutton div में मेरा बटन।

एचटीएमएल

<div class="divbutton"> 
    <button type="button" style="display: none;">Hello</button> 
</div> 

जब मैं div पर माउस होवर यह दिखाना चाहिए लेकिन कैसे है कि मैं नहीं जानता कि क्या करना है। जब मैं माउस बटन को फिर से छुपाता हूं तो छुपाएं। धन्यवाद।

+0

मैं अपने प्रश्न सीएसएस का उपयोग कर, यह मानते हुए retagged है कि आप सीएसएस समाधान के लिए खुले तौर पर खुले हैं, अगर आप आसानी से वापस नहीं लौट सकते हैं। –

उत्तर

12

अपना कार्य करने के लिए निम्न jQuery का उपयोग करें।

यहाँ एक jsfiddle demo

$(document).ready(function() { 
    $(document).on('mouseenter', '.divbutton', function() { 
     $(this).find(":button").show(); 
    }).on('mouseleave', '.divbutton', function() { 
     $(this).find(":button").hide(); 
    }); 
}); 
+4

में काम नहीं करता है इस प्रश्न के साथ कोई 'jQuery' टैग – Satpal

+0

हाँ मुझे पता है लेकिन यह आसान तरीका है और मैंने ऐसा कुछ किया है। –

+0

धन्यवाद मेरी मदद की;) –

31

उपयोग नीचे दिए गए चयनकर्ता

button { 
    display: none; /* Hide button */ 
} 

.divbutton:hover button { 
    display: block; /* On :hover of div show button */ 
} 

Demo

यह भी सुनिश्चित करें कि आप अपने div तत्व करने के लिए कुछ height या min-height असाइन करें, वरना यह 0 हो जाएगा के रूप में यह किसी भी सामग्री को पकड़ नहीं करता है। साथ ही, इनलाइन शैली के रूप में display: none; का उपयोग न करें, क्योंकि इनलाइन शैलियों में उच्चतम विशिष्टता है, और इसलिए, आपको !important का उपयोग करने के लिए मजबूर होना होगा जो खराब है।

उपर्युक्त उदाहरण में button {/*Styles*/} का उपयोग कर रहा हूं लेकिन यह एक सामान्य तत्व चयनकर्ता है, इसलिए सुनिश्चित करें कि आप अपने button तत्व पर class परिभाषित करें।

+2

अच्छा जवाब। सीएसएस काम करता है भले ही उपयोगकर्ता अपने ब्राउज़र पर स्क्रिप्ट को अनुमति न दे। –

+1

यदि आप बटन को अन्य तत्वों के प्रवाह या स्थिति को प्रभावित किए बिना गायब होना चाहते हैं, तो 'दृश्यता' के बजाय 'दृश्यता: छुपा;' और 'दृश्यता: दृश्यमान' का उपयोग करने का प्रयास करें। –

+0

ट्राइट संपादक – Ooker

5

श्री विदेशी का जवाब एक अच्छा सीएसएस कार्यान्वयन देता है। आप jQuery में की जरूरत है, इस का उपयोग करें -

$(".divbutton") 
.on("mouseenter", function() { 
    $("button").show(); 
}) 
.on("mouseleave", function() { 
    $("button").hide(); 
}); 

शुद्ध जावास्क्रिप्ट में -

var buttonDiv = document.getElementsByClassName("divbutton")[0]; //better use some id and then use getElementById 

buttonDiv.onmouseover = function() { 
    document.getElementById("YourButtonId").style.display = 'block'; 
} 

buttonDiv.onmouseout = function() { 
    document.getElementById("YourButtonId").style.display = 'none'; 
} 
0

आज़माएं:

$('.divbutton').mouseover(function(event) 
{ 
    $(this).find('button').show(); 
}); 

$('.divbutton').mouseout(function(event) 
{ 
    $(this).find('button').hide(); 
}); 
संबंधित मुद्दे