jQuery动画在IE中不起作用

时间:2010-07-11 17:18:46

标签: jquery html css animation internet-explorer

我试图在用户点击按钮时为div设置动画。每个按钮都会将div移动到不同的像素数量。我的代码在firefox和chrome中工作但不是IE8(到目前为止我只在IE8中测试它)。如果有人可以帮助我,我会很感激。

我的jquery

$(document).ready(function(){

function breakline(position) {
     $('#breakline').animate({  //this code won't work...
    top:position},'slow'); 

    $('#breakline').hide(); //this code would work. I put it here just for testing                
                                //purpose
    };


$('#project a').click(function(){
breakline(256);
});

$('#code a').click(function(){
breakline(200);
});

$('#skill a').click(function(){
breakline(236);
});

$('#about a').click(function(){
breakline(190);
});

$('#contact a').click(function(){
breakline(200);
});

});/* ready */

我的HTML

<body>

<div id="main">  
   <div id="menu-wrapper">
     <ul id="menu">
    <li id="project"><a href="#"></a></li>
    <li id="code"><a href="#"></a></li> 
    <li id="skill"><a href="#"></a></li>
    <li id="about"><a href="#"></a></li>
    <li id="contact"><a href="#"></a></li>
     </ul>
<div id='breakline'> </div>
</div> <!-- menu wrapper -->
</body>
</HTML>

CSS的一部分

#breakline
{
width:580px;
height:100px;
background-image:url('breakline.png');
background-repeat:no-repeat;
float:left;
border:1px solid black;
}

2 个答案:

答案 0 :(得分:2)

如果您在样式中添加position:relative,则可以在IE8中使用。

http://jsfiddle.net/NPxt6/1/

#breakline
{
    width:580px;
    height:100px;
    background-image:url('breakline.png');
    background-repeat:no-repeat;
    float:left;
    border:1px solid black;
    position:relative;
}​

答案 1 :(得分:1)

我必须在breakline类中添加一些定位才能使其动画而不是隐藏。

添加位置:相对于#breakline css类