sliderToggle
विधि का उपयोग करते समय, :visible
अभिव्यक्ति कभी भी सत्य के अलावा कुछ भी वापस नहीं प्रतीत होती है।स्लाइड टॉगल और: दृश्य
यदि मैं मैन्युअल रूप से show
/hide
का उपयोग :visible
अभिव्यक्ति के संयोजन के साथ करता हूं तो यह ठीक काम करेगा।
का उदाहरण विफलता:
कीjQuery(".fileNode .nodeExpander").click(function() {
var notes = jQuery(this).parent().siblings(".fileNotes");
notes.slideToggle ("fast");
var isVisible = notes.is(":visible"); // Always returns true...
// Do stuff based on visibility...
});
उदाहरण काम कर:
jQuery(".fileNode .nodeExpander").click(function() {
var notes = jQuery(this).parent().siblings(".fileNotes");
var isVisible = notes.is(":visible");
if (isVisible)
notes.hide("fast");
else
notes.show("fast");
// Do stuff based on visibility...
});
कुछ HTML:
<ul>
<li class="fileNode">
<img src="<%= Url.Content ("~/Images/Collapse.png") %>" alt="<%= UIResources.CollpaseAltText %>" class="nodeExpander" />
</li>
<li class="fileLink">
<%= Html.ActionLink (file.Name, "Details", new { id = file.FileId }) %>
</li>
<li class="fileNotes">
<%= file.Description %>
</li>
</ul>
मुझे लगता है कि slideToggle
नहीं है संभालने हूँ कर show
/hide
- क्या मैं कुछ और जांच सकता हूं?
मैंने फ़ायरफ़ॉक्स 3.5, आईई 7, 8 और क्रोम 4 में कोशिश की है ... सभी एक ही परिणाम के साथ।
धन्यवाद, कश्मीर
बेशक! धन्यवाद, अब एक मपेट की तरह महसूस करें - var isVisible =! Notes.is (": visible") को कॉल करके; स्लाइड टॉगल से पहले मुझे जवाब आवश्यक है। धन्यवाद! – Kieron
यह थोड़ा सा अंतर्ज्ञानी है, लेकिन सही समझ में आता है। अगर केवल हमारे पास jQuery ऑब्जेक्ट के लिए आंतरिक स्लाइड-अप-स्टेटस है ... –