jquery animate删除IE中的滚动滚动IE

问题描述:

现在我收到了这个奇怪的问题,当我在<div>上使用jQuery的animate()函数时,它删除了滚动的功能。我正在用animate()调整高度。这个问题只会出现在IE浏览器中,并且可以正常使用Chrome和FF。jquery animate删除IE中的滚动滚动IE

下面是我的CSS类为我的div

div.fullscroll{ 

    height: 65%; 
    width: 75%; 
    overflow-x: hidden; 
    overflow-y: scroll; 
    border-top: 1px solid #347235; 
    border-bottom: 2px solid #347235; 
    border-right: 2px solid #347235; 
    border-left: 2px solid #347235; 
    -moz-border-radius-topleft:  .1em; 
    -moz-border-radius-topright: .1em; 
    -moz-border-radius-bottomright: .2em; 
    -moz-border-radius-bottomleft: .2em; 
    border-top-left-radius: .1em; 
    border-top-right-radius: .1em; 
    border-bottom-right-radius: .2em; 
    border-bottom-left-radius: .2em; 
    background-color: #FFF; 
    padding: 0px; 
    margin: 0px auto; 
    position:relative; 
} 

这里是我的JS jQuery的动画,其中<div id='main'>

$('#main').animate({ 
      height: "40%" 
      } 
      ,"slow"); 

的动画结束后的<div>标签不再有滚动的能力。我完全沉迷于此,并想知道是否有人有一个想法。

(再次强调这只是在IE中发生)

+0

我总是把我的2美分,在这种情况下 - 你没有设置值设置为0(的margin,padding)时使用的尺寸后缀。 '保证金:0'很好:)只是节省了你几个字节:) – Marko 2010-10-19 03:33:40

我能够使用快速解决方法解决此问题。动画完成后,我将溢出属性添加回元素。

$('#main').animate({ 
     height: "40%" 
    },function(){ 
     $('#main').css('overflow-y','scroll'); 
    } 
); 

我猜测这可能是IE的问题,结实率高度(ref)。尝试将高度更改为像素值,然后查看它是否有效。

另外,是#main.fullscroll是同一个div吗?

+0

是#main和.fullscroll是一样的 – Albinoswordfish 2010-10-19 05:11:10

+0

我试着改变像素值的高度,但我仍然有同样的问题... – Albinoswordfish 2010-10-19 14:02:20