www.webdeveloper.com
Results 1 to 3 of 3

Thread: Animate and resize container to dynamic height

  1. #1
    Join Date
    Sep 2011
    Posts
    31

    Animate and resize container to dynamic height

    Does anyone know how to animate the resizing of a container when the target height is auto?
    This is what I use to animate the resize of a container currently, it does resize, but it does not animate. I think it's because it cannot animate when height is auto, as it does animate when height is fixed (such as height: '700px').
    .pagecontainer is the overall container, inside it are a bunch of pages (#page1 #page2 #page3 etc), which are the actual content. I'm trying to get .pagecontainer's height to resize.

    JS:

    Code:
        
    <script>
    
            function setContainerHeight() {
                $(".pagecontainer").animate({
                    height: 'auto'
                }, 500);
            }
    
            $('.link').on('click', function(e){
                $('.pagecontainer>div').fadeOut(0);
                setContainerHeight();
                $(this.getAttribute("href")).fadeIn();
            });
    
        </script>
    CSS:

    Code:
        
    .pagecontainer {
        min-height:450px;
        width:80%;
        min-width:800px;
        padding:50px 0;
        margin: 0 auto;
     }
     .pagecontainer>div{
        display: none; /*wait until page needs to be faded in*/
        padding-left:50px;
        padding-right:50px;
        position:relative;
     }

    HTML:

    Code:
        
    <div class="pagecontainer">
    
            <a href="#page1" class="link">page 1</a>
            <a href="#page2" class="link">page 2</a>
            <a href="#page3" class="link">page 3</a>
    
            <div id="page1">TONS OF TEXT HERE</div>
    
            <div id="page2">A BIT OF TEXT HERE</div>
    
            <div id="page3">BUNCH OF IMAGES</div>
    
     </div>

    Thanks.

  2. #2
    Join Date
    Mar 2009
    Posts
    464
    Can you even do this with a class name like ".pagecontainer" ?
    I think the jQuery "animate" method requires a "plain object" type in order to work, but I may be wrong.

    You might try giving your div an id of "pagecontainer" and then changing:
    "$(".pagecontainer").animate({" to
    "$("#pagecontainer").animate({"

  3. #3
    Join Date
    Sep 2011
    Posts
    31
    Yes it works for classes. Like I said it works if I set the height to a fixed value, but stops working if I change it to auto. If it works for IDs why won't it work for classes?

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles