2013-02-17 5 views
0

검은 색 투명한 그라디언트가있는 메뉴가 있습니다. 메뉴를 가리키면 완전히 채워 넣으 려합니다. 왜 다음은 작동하지 않습니까?이미지를 채우기 위해 배경에서 애니메이션으로 애니메이션하기

$('#topmenu').hide().animate({ 
    'height': 'toggle' 
    }, "slow").hover(function() {$(this).animate({ 'opacity' : 1 }).css('background' , 'rgb(0,0,0)', 'box-shadow' , "0px 5px 15px 0px rgba(0, 0, 0, 0.5)");}, function() {$(this).animate({ 'opacity' : 0.6  }).css('background' , "url('<?php bloginfo('template_url'); ?>/images/topmenu_bg.png') repeat-x");}); 

메뉴의 bg 이미지는 'background'속성이있는 스타일 시트를 통해 설정됩니다.

감사합니다.

+1

구문 오류'} .css' – Musa

+0

고정 : :) 상자 그림자 속성이 여전히 전혀 적용되지 않습니까? –

답변

2

왜이 평범한 CSS가 좋을까요?

#topmenu { 
    background-image:linear-gradient(to bottom,black,transparent); 
    background-color:transparent; 
    transition:background-color 1s ease; 
    /* vendor-specific alternatives follow */ 
    background-image:-webkit-linear-gradient(top,black,transparent); 
    -webkit-transition:background-color 1s ease; 
} 
#topmenu:hover { 
    background-color:black; 
} 

일반 CSS는 비유적이고 그리고 내가 어떻게 CSS "속도"를 측정하는 XD

+0

역 호환성? –

+1

IE7까지 모두 작동합니다. 페이드 효과는 모든 최신 브라우저에서 작동하지만 눈을 사로 잡는 데 필수적인 기능이 아니기 때문에 호환성이 문제가되지 않습니다. –

0

당신이 속성을 가진 개체를 전달할 수있는 여러 CSS 속성을 설정하려면 아무 생각이 없기 때문에, 헤아릴 수 없을 정도로 빠른 jQuery를보다

$('#topmenu').hide().animate({ 
    'height': 'toggle' 
    }, "slow").hover(function() {$(this).animate({ 'opacity' : 1 }).css({'background': 'rgb(0,0,0)', 'box-shadow': "0px 5px 15px 0px rgba(0, 0, 0, 0.5)"});}, function() {$(this).animate({ 'opacity' : 0.6  }).css('background', "url('<?php bloginfo('template_url'); ?>/images/topmenu_bg.png') repeat-x");}); 
관련 문제