2014-06-19 132 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