<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" type="text/css" href="plugin/easyui/themes/gray/easyui.css">
    <link rel="stylesheet" type="text/css" href="plugin/easyui/themes/icon.css">
    <link rel="stylesheet" type="text/css" href="style/main.css">
    <script type="text/javascript" src="plugin/easyui/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
$("#closeMe").click(function() {
    $(this)
        .parent()
        .slideUp();
});
</script>
</head>

<body>
<div id="rem">
<span id="closeMe"><img src="http://www.cespage.com/silverlight/appbar/dark/close.png"></span>
<p>Please read the documentation.For updates please follow our blog, tweets or become a fan.</p>
</div>
</body>
</html>

To proste pudełko z przyciskiem zamykania, po naciśnięciu przesuwa się do góry. Jednak po przetestowaniu i naciśnięciu przycisku nie ma żadnej reakcji. Jaki jest problem? Dziękuję Ci.

0
user782104 17 luty 2012, 09:38

3 odpowiedzi

Najlepsza odpowiedź

Twój kod startowy powinien znajdować się w wywołaniu $(document).ready(), tak jak poniżej:

<script type="text/javascript">
$(document).ready(function(){
    $("#closeMe").click(function() {
        $(this)
            .parent()
            .slideUp();
    });
});
</script>

Tak jak jest, próbuje uruchomić się, zanim element #closeMe w ogóle istnieje. $(document).ready() upewnia się, że czeka, aż DOM będzie gotowy.

1
Andrew Barber 17 luty 2012, 09:40

Owiń kod wewnątrz handlarza gotowego

$(function(){    
 $("#closeMe").click(function() {
    $(this)
        .parent()
        .slideUp();
   });    
 });

Lub alternatywnie przenieś skrypt na koniec dokumentu, np.

<body>
<div id="rem">
<span id="closeMe"><img src="http://www.cespage.com/silverlight/appbar/dark/close.png"></span>
<p>Please read the documentation.For updates please follow our blog, tweets or become a fan.</p>
</div>
</body>
<script type="text/javascript">
$("#closeMe").click(function() {
    $(this)
        .parent()
        .slideUp();
});
</script>
0
Rafay 17 luty 2012, 09:40

Musisz zawinąć swoją funkcję jquery, aby działała przy uzupełnianiu strony:

$(function() {

   $("#closeMe").click(function() {
       $(this).parent().slideUp();
   });

}
0
Jakub 17 luty 2012, 09:41