Thankyou for your response, I'll try to clarify what I am trying to do....I am trying to have the content of a div on a page appear or disappear based on a click of a link. However I want to start the page with none of the content in divs being shown, thus I hid the #content div's in the css.

What is happening now is first time I click on "xx-button" it then fades in the corresponding "#content div.xx" Then the next click of say "x1-button" fades in #content div.x1" BUT it does not fade out the previous "#content div.xx". Same thing happens for the third "x2-button", the "#content div.x2" is faded in but "#content div.x1" and "#content div.xx" are still visible which is not what I want.

What I tried to do in the script is test if ALL the divs in "#content div" are hidden. if true then fade in the corresponding "#content div.xx" to the clicked "xx-button". This is good and works for the first condition of the page only. At the next click to "x1-button" the if statement " appears to return true again. As it appears that "#content > div" is for any div in #content being hidden versus ALL. So I am looking to understand how to write the filter/test to check if ALL the divs in #content being hidden



There may be simpler way to do this... this was the closest I came to getting it almost where I wanted.


Thanks hope this clears it a bit & thanks in advance for the help.


Suz




Charlie wrote:
this is confusing, all the #content div's are already hidden by css ( display:none) and you say it's already working . Not very clear what you are trying to accomplish

$("#content div").hide();  // this will hide every div within #content

using part of your click function below a "filter" like you are asking about could be

$("#content div:visible").hide();

is that all you are trying to do is hide them?

Suz T. wrote:

Hello I am posting for the first time.. and am resending my message because it didn't appear to post to the group. As mentioned below, just starting out with jquery/javascript and need some help with the script below to have it start with none of the #content div showing.

I expect this is pretty basic, so thanks in advance for any quick help you can provide.

Thanks
Suz

SuzT wrote:
Hello I am a beginner to jquery/javascript and I am trying to use a
script I saw online to replace the content of a div. However I would
like to have the script start with none of the target content showing.
So far it starts correctly however I am not sure how to test/filter
for ALL the divs in #content being hidden which would be the begging
state of the page.

Here is a link to what it is doing now.
http://noworriestech.com/jquery/indext2.html

Here is the code
<script type="text/javascript">

        $(function(){

            $("#home-button").css({
                opacity: 0.3
            });

            $("#about-button").css({
                opacity: 0.3
            });
            $("#contact-button").css({
                opacity: 0.3
            });

            $("#page-wrap div.button").click(function(){

                $clicked = $(this);

// if the button is not already "transformed" AND is not animated
                if ($clicked.css("opacity") != "1" && $clicked.is(":not
(animated)")) {

                    $clicked.animate({
                        opacity: 1,
                        borderWidth: 5
                    }, 600 );

// each button div MUST have a "xx-button" and the target div
must have an id "xx"
                    var idToLoad = $clicked.attr("id").split('-');

                    if ($("#content > div").is(":hidden")) {

                    $("#content").find("#"+idToLoad[0]).fadeIn();
                    }
                    else {
//we search trough the content for the visible div and we fade it
out
$("#content").find("div:visible").fadeOut("fast", function(){ //once the fade out is completed, we start to fade in the right
div
$(this).parent().find("#"+idToLoad[0]).fadeIn();
                    })}


                }

                //we reset the other buttons to default style
                $clicked.siblings(".button").animate({
                    opacity: 0.5,
                    borderWidth: 1
                }, 600 );

            });
        });

    </script>

Thank you for you assitance in advance.





Reply via email to