2017-04-26 31 views

回答

3

有幾個問題。

  • onclick應該只是click
  • 單擊處理需要是document.ready塊內,使其執行一次的DOM已經intitialised。
  • 有一個在.anotherdiv選擇
  • ]失蹤'應在單擊處理程序的關閉

另外請注意,你應該使用CSS來隱藏元素開始,這樣你就不會得到}頁面加載時的FOUC(未格式化內容的閃光)。試試這個:

$(document).ready(function() { 
 
    $('.anotherdiv').click(function() { 
 
    $('.bio').show(2000).animate({ 
 
     left: '15em' 
 
    }, 2500); 
 
    }); 
 
});
.bio { 
 
    display: none; 
 
    position: absolute; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="anotherdiv">Another DIV</div> 
 
<div class="bio">BIO</div>

以供將來參考調試JS代碼,當你要經常檢查控制檯。你會看到語法問題的報告。

+0

你指的是一個調試器,如谷歌瀏覽器的擴展 –

+0

可能我建議,如果OP對他想點擊一個以上的'anotherdiv',他應該使用'。對(「點擊「,function(){'以便爲所有元素創建單個處理程序'anotherdiv',而不是每個元素的一個處理程序,這就是'click' –

+0

@MihaiT的情況,考慮到'on'點擊',fn)'和'click()'具有完全相同的行爲 –

0

默認情況下,爲什麼不隱藏元素(不透明度爲0),然後添加一個單擊事件以在文檔準備就緒時顯示它,此時可以將不透明度更改爲1?

$(document).ready(function() { 
    $('.anotherdiv').click(function() { 
     $('.bio').animate({ 
     left: '15em', 
     opacity: 1 
     }, 2500) 
    }); 
});