2011-01-26 8 views
10
<div class="scrollable" style="overflow: hidden"> </div> 

$(function() { 
    if($(".scrollable").hasElementsInsideItThatAreCutOffByOverflowHidden == false){ 
    $(".scrollable").scrollable({ vertical: true, mousewheel: true }); 
    } 
} 


<a onClick="isHidingMyStuff"> check if your stuff is hidden <a> 

यह does not कामकैसे जांचें कि अतिप्रवाह: छुपा एचटीएमएल वर्ग jquery या जावास्क्रिप्ट का उपयोग कर दृश्य सामग्री से बाहर कट गया है?

+0

क्या आप अपना काम अधिक काम-अनुकूल बना सकते हैं? – drudge

+0

मुझे समझ में नहीं आता कि आपका क्या मतलब है – slex

+0

उसका मतलब है "एस" से शुरू होने वाला शब्द और "इसे" में समाप्त करना। –

उत्तर

15

हम एक div में सामग्री लपेट ताकि हम इसे से एक ऊंचाई हो और (जो स्क्रॉल नहीं है ..) .scrollable ऊंचाई तुलना कर सकते हैं

function isHidingMyStuff(){ 
    var $s = $('.scrollable'); 

    $s.wrapInner('<div />'); // wrap inner contents 
    var hidden = $s.height() < $s.children('div').height(); 

    $s.children('div').replaceWith($s.children('div').html()); //unwrap 

    return hidden; 
} 

डेमो http://jsfiddle.net/gaby/ApZP2/

+0

yup, यही है जाने का तरीका, +1 – dmp

+2

आप बस '.unwrap() 'का उपयोग क्यों नहीं करते? – meo

+1

@meo, क्योंकि 'unwrap' मूल तत्व को हटा देता है। इस मामले में मैं भीतरी आवरण को हटाना चाहता हूं और इससे गहराई से जाने का कोई रास्ता नहीं है। –

4

जावास्क्रिप्ट का उपयोग करना है और अगर div तो आईडी है

<div id="scrollable" class="scrollable" style="overflow: hidden"> </div> 


function check_string_is_hidden_due_to_overflow(div_id) { 
     var s_h = document.getElementById(div_id).scrollHeight; 
     var c_h = document.getElementById(div_id).clientHeight; 
     if(s_h != c_h) { 
      return true; // Means some content is hidden due to overflow hidden 
     } else { 
      return false; // Whole content is displayed. 
     } 

} 

check_string_is_hidden_due_to_overflow ("स्क्रॉल करने योग्य");

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