2012-05-01 11 views
16

बटन पर क्लिक करते समय div दिखाने का सबसे अच्छा तरीका क्या है और फिर इसे बंद बटन से छुपाएं ??दृश्यता: दृश्यमान/छुपा div

$(".imageIcon").click(function(){ 
$('.imageShowWrapper').css("visibility", 'visible'); 
}); 
$(".imageShowWrapper").click(function(){ 
$('.imageShowWrapper').css("visibility", 'hidden'); 
}); 

समस्या मैं आ रही है यह किसी भी क्लिक के बिना स्वचालित रूप से बंद है, सिवाय इसके:

मेरे Jquery कोड इस प्रकार है। यह सब ठीक है, लगभग 1/2 सेकंड के लिए प्रदर्शित करता है और फिर बंद हो जाता है। कोई विचार?

उत्तर

25

आप show और hide तरीकों का उपयोग कर सकते हैं:

var imageIcon = $(".imageIcon"), 
    imageShowWrapper = $(".imageShowWrapper"); 

imageIcon.on("click", function(){ 
    imageShowWrapper.stop().fadeIn(); 
}); 

imageShowWrapper.on("click", function(){ 
    $(this).stop().fadeOut(); 
}); 

डेमो:: http://jsbin.com/uhapom/edit#javascript,html,live

+0

हे आपके उत्तर के लिए धन्यवाद, मैं चाहता हूं कि div पहले छिपे रहें, क्या मुझे एक ही फ़ंक्शन छुपा() का उपयोग करने की आवश्यकता होगी या क्या मैं केवल सीएसएस विज़िबिलिटी प्रॉपर्टी का उपयोग कर सकता हूं –

+2

@ स्कॉट रॉबर्टसन, आपका स्वागत है, आप इवेंट हैंडलर के बाहर div को छुपा सकते हैं, सेट डिस्प्ले को छुपा सकते हैं: कोई तत्व नहीं। – undefined

+0

हम्म शायद मैंने इसे ठीक से लागू नहीं किया है, मैं अभी भी इस सामान का बहुत कुछ सीख रहा हूं। मेरी सीएसएस फ़ाइल में मैंने छवि शोव्रापर के गुणों में 'डिस्प्ले: none' रखा है लेकिन अब Jquery div –

0

आप फीका तरीकों का उपयोग कर एक चिकनी संक्रमण मिलेगा :

$(".imageIcon, .imageShowWrapper").click(function() { 
    $(".imageShowWrapper").toggle($(this).hasClass('imageIcon'));  
}); 

तुम भी fadeToggle उपयोग कर सकते हैं और slideToggle

0
$(".imageIcon, .imageShowWrapper").click(function(){ 
    $('.imageShowWrapper').toggle(); 
}); 
2

एक अन्य विकल्प

$(".imageIcon").click(function() { 
    $('.imageShowWrapper').show(); 
}); 

$(".imageShowWrapper").click(function() { 
    $(this).hide(); 
}); 
5

आपकी आवश्यकता के अनुसार, मेरा मानना ​​है कि क्या आप की जरूरत है इस के रूप में सरल है: http://jsfiddle.net/linmic/6Yadu/

हालांकि, दृश्यता का उपयोग कर शो का उपयोग कर से अलग है/फंक्शन छुपाएं, गोरो विवरण: What is the difference between visibility:hidden and display:none?

+0

यह वही है जो मैं चाहता हूं और मेरा मूल कोड क्या है, यह सिर्फ कुछ कारणों से काम नहीं करता है। उत्तर के लिए धन्यवाद –

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