[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 382
  • Last Modified:

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
0
drdocb
Asked:
drdocb
  • 3
1 Solution
 
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:
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
 
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

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now