<script>
$("a").click(function() {
$("#wrapper").fadeOut("slow");
});
</script>
<div id="wrapper" >
<a href="1.html"> <img src="images/landing.png"/></a>
</div>
我已經檢查了jQuery的文檔,但它並沒有解決這個問題,試圖替換不同的選擇簡單淡出圖片點擊
<script>
$("a").click(function() {
$("#wrapper").fadeOut("slow");
});
</script>
<div id="wrapper" >
<a href="1.html"> <img src="images/landing.png"/></a>
</div>
我已經檢查了jQuery的文檔,但它並沒有解決這個問題,試圖替換不同的選擇簡單淡出圖片點擊
您正在執行的腳本加載DOM之前。在定義<a>
標記之前,jQuery調用$("a")
會立即執行,因此click
不會綁定任何內容。修復使用<a>
後可執行的ready函數。
$(document).ready(function() {
$("a").click(function() {
$("#wrapper").fadeOut("slow");
});
});
的jsfiddle示例 - http://jsfiddle.net/Vkd8J/
(與組合的document.ready,其他人所說)
您需要使用e.preventDefault();
從要去href
停止鏈接:
$("a").click(function(e) {
$("#wrapper").fadeOut("slow");
e.preventDefault();
});
您需要防止默認事件行爲。
$(document).ready(function() {
$("a").click(function(e) {
e.preventDefault();
$("#wrapper").fadeOut("slow");
});
});
看到這個jsFiddle Example。
此外,您必須確保DOM準備就緒後,通過您的包裹與
$(document).ready(function() { ... }
爲什麼整個代碼?由於您的<script>
標籤在整個文檔之前(這是完全可以接受的),當您的腳本運行時,您嘗試使用的元素還不存在(因爲它們尚未被瀏覽器下載)。出於這個原因,你等到DOM準備就緒,然後執行代碼。
一切的分辯,但是你錯過了包裹裏面的東西$(文件)。就緒()如下:
<script>
$(document).ready(function(){
$("a").click(function() {
$("#wrapper").fadeOut("slow");
});
})
</script>
將會失敗。該鏈接會在動畫完成之前重定向頁面。 –
爲了進一步澄清了一下,''你想引用在腳本執行的時候JavaScript中還不存在(因此,它找不到任何可以添加'click'處理程序的東西)。 '$(document).ready()'增加了一個處理器,當整個HTML被加載時觸發,從而確保你的''存在。 –
將失敗,鏈接會在動畫完成之前重定向頁面。 –
@瑞恩,謝謝,試圖澄清我的答案了一下。 – JaredPar