Hi George,

It appears that your code isn't working because the context of your
this pointer changes in the callback inside of your fadeout effect.
it becomes your section title.  So when you do a find on it, you find
only children of the section title that are of the class explanation
-- which don't exist, hence your problem.  Using "siblings" should
solve the issue.  Try the following code.  Note that I've changed your
mouseove to a mouseleave, since mouseover appears to fire too
frequently.  Hope this helps, or at least gets you on your way....

function() {
    $('li').mouseover(
      function() {
        $(this).find('div.SectionTitle').fadeOut('fast', function() {
          $(this).siblings('div.Explanation').fadeIn('slow');
        });
    });
    $('li').mouseleave(
      function() {
                $(this).find('div.Explanation').fadeOut('fast', function () {
                        $(this).siblings('div.SectionTitle').fadeIn('slow'); });
                });
  }

Aaron

On Mon, Aug 24, 2009 at 5:16 AM, GLSmyth<george.sm...@gmail.com> wrote:
>
> I am looking to fade text out when the mouse passes over it and
> replace it with text that is faded in. My understanding is that this
> needs to be done through a callback, as the text needs to fade out
> completely before fading in. However, when I try to implement this
> idea the content does not fade in, so I must be doing something wrong.
>
> My code is:
>
>    <script type="text/javascript">
>    var Tips = {
>      ready: function() {
>        $('ul#SiteNav li').mouseover(
>          function() {
>            $(this).find('div.SectionTitle').fadeOut('fast', function
> () {
>              $(this).find('div.Explanation').fadeIn('slow');
>            });
>        });
>        $('ul#SiteNav li').mouseout(
>          function() {
>            $(this).find('div.Explanation').hide();
>            $(this).find('div.SectionTitle').show();
>        })
>      }
>    };
>    $(document).ready(Tips.ready);
>    </script>
>
> I left the mouseout part unchanged, as that is an example of what I am
> changing from. What happens is that the mouseover text fades out, but
> the replaced text does not fade back in. Additionally, the shown text
> flashes before fading out if the mouse rolls over the text (as opposed
> to the containing box), which is not really a problem, but I am not
> understanding why that is happening. All works fine with hide/show.
>
> Full code can be found at http://dripinvesting.org/Default_test.asp.
>
> I am apparently missing something basic, so a pointer to a beginner
> would be appreciated.
>
> Cheers -
>
> george

Reply via email to