2011-11-21 6 views
4

FF로 가져 오는 동안 페이드 인/페이 아웃되는 div이 있지만 IE7에서는 애니메이션이 표시되지 않고 그냥 표시됩니다. 여기 내 코드는 다음과 같습니다.jQuery FadeIn, FadeOut Div - IE7 버그

#nav-buttons { 
    display:none; 
    width:894px; 
    position:relative; 
    z-index:1000; 
} 
#left-button, #right-button { 
position:absolute; 
width:46px; 
height:76px;   
} 
#left-button { 
background:url("images/arrows.png") no-repeat scroll -88px -60px transparent; 
left:-46px; 
} 
#left-button:hover { 
background-position:-88px -260px; 
} 
#right-button { 
background:url("images/arrows.png") no-repeat scroll 3px -60px transparent; 
right:-43px; 
} 
#right-button:hover { 
background-position:4px -260px; 
} 


---------- 
<div id="contents"> 
<div id="nav-buttons"> 
    <a href="javascript:void(0)" id="left-button"></a> 
    <a href="javascript:void(0)" id="right-button"></a> 
</div> 
other html.... 
</div> 

---------- 

$(document).ready(function() {     
    $("#contents").hover(function() { 
     $("#nav-buttons").fadeToggle("slow"); 
    }); 
}); 
+1

는 바이올린 http://jsfiddle.net/KMmSB/5/ –

+0

편집 한 게시물입니다. 필터를 제거하십시오. – craniumonempty

+0

어둠 속에서 쐈지 만 "내용"이 효과가있는 것처럼 보였으므로 버튼이 보이지 않는 경우 대시를 제거하여 "-"문제가 있는지 확인하십시오. 아마도 아니지만 오래된 Netscape 밑줄 문제에 대한 플래시백이 있습니다. – craniumonempty

답변

1

내가 대신 직접 여기 <div id=nav-buttons>의 fadeToggle() 각 버튼에 의해이 문제를 해결할 수 있었다 무엇입니다 내가 그랬어 : 누군가가 여기 IE7이있는 경우

$(document).ready(function() {     
    $("#contents").hover(function() { 
     $("#left-button").fadeToggle("slow"); 
     $("#right-button").fadeToggle("slow"); 
    }); 
}); 
0

IE7이 없지만 지금 시도하십시오. 수정하지는 않았지만 표시해야 할 때 콘텐츠를 표시합니다. 음, IE7에서는 확실하지 않지만 IE9에서는 비슷한 문제가있었습니다.

$(document).ready(function(){     
    $("#contents").hover(function() { 
     $("#nav-buttons").fadeToggle("slow").queue(function() { 
      $(this).fadeIn("slow"); 
      $(this).dequeue(); 
      }); 
    }); 
}); 

또한 "표시 : 없음;"을 제거하십시오. 이상한 행동을하기 때문에 ... 아니면 원하는 것이 있습니까?

편집 : 큐 기능에서 fadeToggle을 다시 추가하기 만하면됩니다. 아, 뭔가 다른 것 위에 마우스를 가져 가면 표시 할 항목이 필요합니다. 이제 이해가된다. 대기열에 다른 fadeToggle을 추가하거나 마우스가 div 위에 있지 않을 때 페이드 아웃 할 수 있습니다.

EDIT2 :

$(document).ready(function(){     
    $("#contents").mouseenter(function() { 
     $("#nav-buttons").fadeIn("slow"); 
    }).mouseleave(function() { 
     $("#nav-buttons").fadeOut("slow"); 
    });  
}); 

당신이 fadeToggle로 변경하려면, 내가 디스플레이 제거하지 좋을 것 : 당신이 그것을 호출 할 때 아무도하거나 계속됩니다 당신은 어쩌면이 나타나고 사라 원하는대로보고 꺼져 있습니다. 그런 다음 떠나면 다시 놓을 수 있습니다.

EDIT3 : 연결 시도에 따라 : 그래도 문제가 해결되지

Fading issues in Internet Explorer 7 when using jQuery

$(document).ready(function(){     
    $("#contents") 
     .mouseenter(function() { 
      $("#nav-buttons").delay(200).fadeIn(function(){ 
       $(this).css("filter",''); 
      }); 
     }) 
     .mouseleave(function() { 
      $("#nav-buttons").delay(200).fadeOut(function(){ 
       $(this).css("filter",''); 
      }); 
     }); 
}); 

경우, 당신은 아마 바로 CSS를 사용해야 할 것입니다.

+0

매우 이상합니다. display : none을 제거하고 내 jquery를 자신의 것으로 전환했습니다 ... 같은 문제입니다. 내 코드처럼 숨기고 완벽하게 표시하지만 여전히 애니메이션 (불투명도)이 없습니다. 나는 FF로 코드와 광산을 모두 시험해 보았고 멋지게 페이드 인 및 페이드 아웃했다. 다른 아이디어? – user1058223

+0

방금 ​​필터없이 IE9에서 작동했지만 FF가 나에게 적합합니다. 작동하는지 브라우저 확인을해야 할 수도 있습니다. – craniumonempty

+0

거푸집 없음 :(그냥 숨어서 쇼처럼 .show() 또는 .hide()를 사용합니다. 사용자가 환상적인 애니메이션을 얻지 못할 것 같습니다. 이상한 일은 fadeIn 할 수 있고 fadeOut는 #contents div입니다. 그것이 왼쪽 버튼과 오른쪽 버튼에 png 이미지 배경과 관련이 있는지 궁금합니다.IE에서 과거 PNG 이미지에 몇 가지 문제가 있음을 알고 있습니다. – user1058223

0

fadeToggle은 IE7에서 버기입니다! 만약 당신이 어떻게 든 작동한다면 IE7이이 폰트에 이상한 앤티 엘리 어싱을 할 수있는 폰트를 페이드 아웃하는 동안 보게 될 것입니다 ... 아주 못생긴 것입니다.

를 사용하여 컬러 애니메이션 (배경 렸기 때문에 가능한 경우) 또는 .fadeIn()와 .fadeOut 시도() 대신