display:list-item은 IE7 및 IE6과 호환되지 않습니다.
3761 단어 ie6display:blockIE7 호환
초기 코드:
$(document).ready(function(){
$(".question_list li:not(.box_hide)").each(function(){
$(this).click(function(){
$(this).next(".box_hide").toggle();
$(this).siblings("li").next(".box_hide").hide();
$(this).children("a").css("color","#EC7302");
var ptop=$(this).parent().offset().top;
var ph=$(this).parent().height();
var ttop=$(this).offset().top;
var pstop=$(this).parent().scrollTop();
var nh=$(this).next(".box_hide").height();
if(($(this).next(".box_hide").css('display')=="list-item")&&((ptop+ph-ttop-nh-39)<0)){
if(ph>nh+39){
var len=pstop-(ptop+ph-ttop-nh)+39;
$(this).parent().animate({scrollTop:len},"normal","linear",function(){});
}else{
var len=pstop+(ttop-395);
$(this).parent().animate({scrollTop:len},"normal","linear",function(){});
};
}else if(($(this).next(".box_hide").css('display')=="list-item")&&((ttop-395)<0)){
var len=pstop+(ttop-395);
$(this).parent().animate({scrollTop:len},"normal","linear",function(){});
};
});
});
});
수정된 코드:
$(document).ready(function(){
$(".question_list li:not(.box_hide)").each(function(){
$(this).click(function(){
$(this).next(".box_hide").toggle();
$(this).siblings("li").next(".box_hide").hide();
$(this).children("a").css("color","#EC7302");
var ptop=$(this).parent().offset().top;
var ph=$(this).parent().height();
var ttop=$(this).offset().top;
var pstop=$(this).parent().scrollTop();
var nh=$(this).next(".box_hide").height();
if(($(this).next(".box_hide").css('display')!="none")&&((ptop+ph-ttop-nh-39)<0)){
if(ph>nh+39){
var len=pstop-(ptop+ph-ttop-nh)+39;
$(this).parent().animate({scrollTop:len},"normal","linear",function(){});
}else{
var len=pstop+(ttop-395);
$(this).parent().animate({scrollTop:len},"normal","linear",function(){});
};
}else if(($(this).next(".box_hide").css('display')!="none")&&((ttop-395)<0)){
var len=pstop+(ttop-395);
$(this).parent().animate({scrollTop:len},"normal","linear",function(){});
};
});
});
});
상기 두 단락의 코드는 $(this)입니다.next(".box_hide").css('display') = "list-itme"및 $(this).next(".box_hide").css('display')!='none'이라는 두 문장의 차이.전자는 IE7 및 IE6과 호환되지 않습니다.
나는 이렇게 인쇄를 해야만 문제가list-item에서 나온다는 것을 알 수 있다.
나 var d=$(this).next(".box_hide").css('display'), 그리고alert(d)는 구글과 불여우에서list-item을 출력할 수 있지만 IE7에서는 Block만 출력할 수 있습니다. 이를 통해 알 수 있듯이 display:list-item은 IE7과 IE6를 호환하지 않기 때문에 코드를 조금만 바꾸면 제 효과가 모두 호환됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
IE6 솔루션 png 투명도function correctPNG() for(var i=0; i<document.images.length; i++) var img = document.images[i] var imgName = img.src.toU...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.