2014-06-19 90 views
-6

我刚刚开始学习JQuery,我无法获得此代码的工作。我认为没关系,但它不起作用。有人能帮助我吗?.animate()函数不工作(jQuery)

HTML:

<div id="container"> 

    <ul id="menu"> 
     <li id="button1">Animar 1</li> 
    </ul> 

    <div id="box"></div> 

</div><!--Container--> 

JQUERY:

$(document).on("ready",main); 

function main(){ 
    $("#button1").on("click", animate1); 
} 

function animate1(){ 
    $("#box").animate({ 
     width: '100px' 
    }); 
} 

编辑:我添加CSS代码,所以你也可以检查此。我真的不知道这是否有必要,但在这里。

CSS:

body{ 
    background: #4674A5; 
} 
#container{ 
    margin:100px auto; 
    width:500px; 
} 
#caja{ 
    background: #FF8000; 
    width:50px; 
    height:50px; 
} 
#menu{ 
    padding:0; 
    margin: 0; 
    text-align: center; 
} 
#menu li{ 
    color:white; 
    display: inline-block; 
    margin: 0; 
    list-style: none; 
    cursor: pointer; 
} 
#menu li:hover{ 
    color:#FF8000; 
} 
+4

请务必考虑设置相关的描述性标题你的问题...... –

+0

请考虑编辑标题更多的东西与问题有关。 ''我的JQuery代码不起作用“'对其他人没有帮助。 – MLeFevre

+0

也请始终添加一个jsfiddle – DanFromGermany

回答

-1

更改代码

$(document).ready(function() { 
    main(); 
    function main(){ 
     $("#button1").on("click", animate1); 
    } 

    function animate1(){ 
     $("#box").animate({ 
     width: '100px' 
     }); 
    } 
}); 
+1

你能解释为什么[this](http://jsfiddle.net/tilwinjoy/jAx5L/1/)正在工作..? –

+0

@ KingofPopup's因为你可以使用on()绑定伪就绪事件,但是这不会利用内部延迟对象来引发伪事件,即使一旦已经被触发 –

+4

我认为@ KingofPopup试图说的是,Op的代码至少按原样工作。问题在于别处。在他看来,'.on'问题是次要的。 – Abhitalks