Solved

jQuery Problem Passing Variables

Posted on 2009-07-03
2
285 Views
Last Modified: 2012-06-21
Hey guys, I'm pretty new to jQuery, and I'm trying to figure out why this isn't working. I'm gonna attach the code below, but it's pretty long, so I'll detail the problem here.

I'm trying to pass the variables declared in the document.ready function to the other click functions below, but for some reason, it won't animate the divs. It's getting the height correctly (I checked with the $('#homeBottom').text("The height is " + homeContentHeight + "px."); line. If you want to see it in action (or inaction), it's at www.isthatclear.com/svcm (and click on the Services link). Thanks!

$(document).ready(function() {
               $('#home').show();
                  var homeContentHeight = $('#home').height();
                  var servContentHeight = $('#services').height();
                  var guarContentHeight = $('#ourGuarantee').height();
                  var contContentHeight = $('#contact').height();
                  var cleaContentHeight = $('#cleaningTips').height();
                  var abouContentHeight = $('#aboutUs').height();
               $('#cleaningTips').hide();
               $('#contact').hide();
               $('#ourGuarantee').hide();
               $('#services').hide();
               $('#aboutUs').hide();
               $('#contBottom').text("The height is " + contContentHeight + "px.");
               if (jQuery.browser.msie) 
                  $('#content').animate({ height: homeContentHeight + 50 }, 500)
               else
                  $('#content').animate({ height: homeContentHeight }, 500)
            });
         $(function(){
            $('#menuHome').click(function(){
               $('#home').fadeIn()
               $('#services').fadeOut()
               $('#ourGuarantee').fadeOut()
               $('#contact').fadeOut()
               $('#cleaningTips').fadeOut()
               $('#aboutUs').fadeOut()
               if (jQuery.browser.msie) 
                  $('#content').animate({ height: homeContentHeight + 50 }, 500)
               else
                  $('#content').animate({ height: homeContentHeight }, 500)
                  
            });
         });
         $(function(){
            $('#menuServices').click(function(){
               $('#home').fadeOut()
               $('#services').fadeIn()
               $('#ourGuarantee').fadeOut()
               $('#contact').fadeOut()
               $('#cleaningTips').fadeOut()
               $('#aboutUs').fadeOut()
               if (jQuery.browser.msie) 
                  $('#content').animate({ height: servContentHeight + 50 }, 500)
               else
                  $('#content').animate({ height: servContentHeight }, 500)
            });
         });
         $(function(){
            $('#menuOurGuarantee').click(function(){
               $('#home').fadeOut()
               $('#services').fadeOut()
               $('#ourGuarantee').fadeIn()
               $('#contact').fadeOut()
               $('#cleaningTips').fadeOut()
               $('#aboutUs').fadeOut()
               if (jQuery.browser.msie) 
                  $('#content').animate({ height: guarContentHeight + 50 }, 500)
               else
                  $('#content').animate({ height: guarContentHeight }, 500)
            });
         });
         $(function(){
            $('#menuContact').click(function(){
               $('#home').fadeOut()
               $('#services').fadeOut()
               $('#ourGuarantee').fadeOut()
               $('#contact').fadeIn()
               $('#cleaningTips').fadeOut()
               $('#aboutUs').fadeOut()
               if (jQuery.browser.msie) 
                  $('#content').animate({ height: contContentHeight + 50 }, 500)
               else
                  $('#content').animate({ height: contContentHeight }, 500)
            });
         });
         $(function(){
            $('#menuCleaningTips').click(function(){
               $('#home').fadeOut()
               $('#services').fadeOut()
               $('#ourGuarantee').fadeOut()
               $('#contact').fadeOut()
               $('#cleaningTips').fadeIn()
               $('#aboutUs').fadeOut()
               if (jQuery.browser.msie) 
                  $('#content').animate({ height: cleaContentHeight + 50 }, 500)
               else
                  $('#content').animate({ height: cleaContentHeight }, 500)
            });
         });
         $(function(){
            $('#menuAboutUs').click(function(){
               $('#home').fadeOut()
               $('#services').fadeOut()
               $('#ourGuarantee').fadeOut()
               $('#contact').fadeOut()
               $('#cleaningTips').fadeOut()
               $('#aboutUs').fadeIn()
               if (jQuery.browser.msie) 
                  $('#content').animate({ height: abouContentHeight + 50 }, 500)
               else
                  $('#content').animate({ height: abouContentHeight }, 500)
            });
         });

Open in new window

0
Comment
Question by:cowboygeek
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 1

Accepted Solution

by:
mubaidillah earned 500 total points
ID: 24774298
Hi,
try to move the variables declaration outside document.ready()

I have modification version of your fading.js file.
it was tested on FF browser and works well.

fading.js.txt
0
 

Author Closing Comment

by:cowboygeek
ID: 31599657
Thanks! Not only was this correct, but I now understand the language a bit better.
0

Featured Post

Resolve Critical IT Incidents Fast

If your data, services or processes become compromised, your organization can suffer damage in just minutes and how fast you communicate during a major IT incident is everything. Learn how to immediately identify incidents & best practices to resolve them quickly and effectively.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

FAQ pages provide a simple way for you to supply and for customers to find answers to the most common questions about your company. Here are six reasons why your company website should have a FAQ page
Today, the web development industry is booming, and many people consider it to be their vocation. The question you may be asking yourself is – how do I become a web developer?
This video teaches users how to migrate an existing Wordpress website to a new domain.
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

729 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question