Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 690727
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 14, 20262026-05-14T02:27:59+00:00 2026-05-14T02:27:59+00:00

I have a menu composed of a single image (e.g., sprites). In order to

  • 0

I have a menu composed of a single image (e.g., sprites). In order to display the hover image, I simply move the background image down. I’d like this effect to be controlled by jQuery and animated.

This is a sample menu item.

 <ul>
  <li id="home"><a href="#"></a></li>
 </ul>

This is what I’m toying with. I’m very new to jQuery and am having problems getting the proper selector going.

 $(document).ready(function(){

  $('#home a');

   // Set the 'normal' state background position
   .css( {backgroundPosition: "0 0"} )

   // On mouse over, move the background
   .mouseover(function(){
    $(this).stop().animate({backgroundPosition:"(0 -54px)"}, {duration:500})
   })

   // On mouse out, move the background back
   .mouseout(function(){
    $(this).stop().animate({backgroundPosition:"(0 0)"}, {duration:500})
   })

 });

Could you point out what I’m doing wrong? I know the selector is probably incorrect but I’m having a hard time figuring out how to manipulate the anchor.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-14T02:27:59+00:00Added an answer on May 14, 2026 at 2:27 am

    If you were not animating the transitions — and given the kinds of images I’ve grouped as sprites, I don’t know why you’d ever do that — then you’d want something like this:

    $(document).ready(function(){
      $('#home a')
        // On mouse over, move the background on hover
       .mouseover(function() {
         $(this).css('backgroundPosition', '0 -54px');
       })
       // On mouse out, move the background back
       .mouseout(function() {
         $(this).css('backgroundPosition', '0 0');
       })
     });
    

    Now, if you are trying to animate that, then you’ve got bad syntax for the CSS and for the calls to “animate”.

    $(document).ready(function(){
      $('#home a')
       // On mouse over, move the background on hover
       .mouseover(function(){
         $(this).stop().animate({backgroundPosition: "0 -54px"}, 500);
       })
       // On mouse out, move the background back
       .mouseout(function(){
          $(this).stop().animate({backgroundPosition: "0 0"}, 500);
       })
     });
    

    Again, I am doubtful that jQuery is going to be able to animate “backgroundPosition” for you, but then I don’t do “animate()” very often and jQuery always manages to surprise me.

    edit: here’s a page: http://snook.ca/archives/javascript/jquery-bg-image-animations/

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a menu list something like this: <ul class=submenuList> <li><a onclick=loadItem('Blue%20Orchid%20Press') id=Blue%20Orchid%20Press>class=on>Blue Orchid
I'm developing my custom menu. It behaves like this. I have one toggle button
I have menu designed using jQuery in oracle apex.The menu is like this Parent1
Hi Have a menu which look like this <div id=products_menu class=span-9 last> <ul> <li><a
i have menu like this <ul> <li> <a href=#>Home</a> <ul class=sub> <li>Text</li> <li>Test</li> </ul>
I have a menu div which has a dark background. Inside it, I have
I have a side bar menu composed of ul->li->a, styled with css to look
I have menu generated by a CMS with HTML output like: <ul id=category-nav> <li>
i have menu structure like below, <ul> <li class=menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-1406
I have one parent dialog , this dialog have menu , in this menu

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.