Jquery load file and test for hidden content - callback not helpiing

I have been trying to load an external file into a div - no problem
 $(".mydiv").load("href");      

have been testing to see if some content is hidden - no problem
function isHidden(){
      
    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;
}

have been trying to do it in same function so it will all happen in order with one onclick

No matter how I try it even callback it seems to have to finish the entire function before the file appears in the div so, obviously, the hidden content detection fails every time.

Is this possible to do. I want to load the file into a div and, if content exceeds div - indicate there is more available at the bottom of the div - scrollbars are fine on the browsers but iphone and ipad scroll fine bit i am trying to indicate there is "more'. I thought I could load the div then test the content for hidden true/false and if true then unhide the notice element at the bottom of the content div.

Any help appreciated
drdocbVeterinarianAsked:
Who is Participating?
 
drdocbConnect With a Mentor VeterinarianAuthor Commented:
Figured it out myself needed to open the callback function and include the callback code within it. Here is a portion of the modified call from a test page
function flow()
      {      
   $(document).ready(function() {
             $('#scrollable').load('result.html','data',function(event){
                  
    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() );
                  if (hidden)
                    document.getElementById("notice").style.display='block';      
                    return true;
                                       });
      });
   
 
      }

So I will close this question...
0
 
Scott Fell, EE MVEDeveloperCommented:
Can you please post a link to your page
0
 
drdocbVeterinarianAuthor Commented:
Here is a sample page I was using for simplicity sake.

www.clientforms.net/test_hidden.html

one link fills the div (and should callback the isHidden function via the fill(isHidden) on click

the other just calls the isHidden function

www.clientforms.net/test_hidden.html

I have tried multiple combinations without success

Here is the code also

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>

<script src="jquery-1.10.0.min.js">
</script>


<style>
 .scrollable{
      height: 150px;
      width: 75%;
      border: 1px solid #ccc;
      color: #03F;
      overflow: scroll;
      position: relative;
      margin-right: auto;
      margin-left: auto;
      text-align: center;
      }
</style>
<script language="javascript">



function fill(callback)
{
  $(".scrollable").load("flowers.htm");      
  callback();
 
}

function isHidden(){
      
    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;
}
</script>

</head>

<body>


<div class="scrollable" style="overflow:hidden;">
    test testtest testtest testtest<br />
    testtest testtest testtest testtest<br />
    testtest testtest testtest testtest<br />
      testtest testtest testtest testtest<br />
        testtest testtest testtest testtest<br />
    testtest test TOST
</div>
<p>&nbsp;</p>
<p><a href="#" onClick="fill(isHidden)">Fill Div</a></p>
<p>&nbsp;</p>
<p><a href="#" onClick="alert(isHidden())">check if your text is hidden</a></p>
<p>&nbsp;</p>
</body>
</html>
0
 
drdocbVeterinarianAuthor Commented:
Because I figured it out and it might help others as this is a hard concept to graso (or at least was for me and I have been programming for a LONG time)
0
All Courses

From novice to tech pro — start learning today.