2011-08-30 59 views
1
<script> 
    $("a").click(function() { 
    $("#wrapper").fadeOut("slow"); 
    }); 
    </script> 


<div id="wrapper" > 
    <a href="1.html"> <img src="images/landing.png"/></a> 
    </div> 

我已經檢查了jQuery的文檔,但它並沒有解決這個問題,試圖替換不同的選擇簡單淡出圖片點擊

回答

4

您正在執行的腳本加載DOM之前。在定義<a>標記之前,jQuery調用$("a")會立即執行,因此click不會綁定任何內容。修復使用<a>後可執行的ready函數。

$(document).ready(function() { 
    $("a").click(function() { 
    $("#wrapper").fadeOut("slow"); 
    }); 
}); 

的jsfiddle示例 - http://jsfiddle.net/Vkd8J/

0

(與組合的document.ready,其他人所說)

您需要使用e.preventDefault();從要去href停止鏈接:

$("a").click(function(e) { 
    $("#wrapper").fadeOut("slow"); 
    e.preventDefault(); 
}); 

http://jsfiddle.net/vAN3z/

2

您需要防止默認事件行爲。

$(document).ready(function() { 
    $("a").click(function(e) { 
     e.preventDefault(); 
     $("#wrapper").fadeOut("slow"); 
    }); 
}); 

看到這個jsFiddle Example

此外,您必須確保DOM準備就緒後,通過您的包裹與

$(document).ready(function() { ... } 

爲什麼整個代碼?由於您的<script>標籤在整個文檔之前(這是完全可以接受的),當您的腳本運行時,您嘗試使用的元素還不存在(因爲它們尚未被瀏覽器下載)。出於這個原因,你等到DOM準備就緒,然後執行代碼。

0

一切的分辯,但是你錯過了包裹裏面的東西$(文件)。就緒()如下:

<script> 
$(document).ready(function(){ 
    $("a").click(function() { 
     $("#wrapper").fadeOut("slow"); 
    }); 
}) 
</script> 
+0

將會失敗。該鏈接會在動畫完成之前重定向頁面。 –