2012-04-07 14 views
1

ich diesen Code verwenden, um ein Dia Knebel laufen, aber es lässt sich nicht öffnen, wenn ich darauf klicke:Slide Toggle [Jquery Funktion] funktioniert nicht

JS-Code:

<script type="text/javascript"> 
    $(document).ready(function() { 
     alert('hi i came to toggle'); 
     $(".flip").click(function() { 
      $(this).next().slideToggle("fast"); 
     }); 
    }); 

     function ViewGetSubjects(data) { 
     var subjects = (typeof data) == 'string' ? eval('(' + data + ')') : data; 
     $('#subjects').empty(); 
     for (var i = 0; i < subjects.length; i++) 
      { 
       $('#subjects').append('<h1 class = "flip">'+subjects[i].Wkp_lesson+'</h1><div class="panel" >' + ' Weekly Body: ' + subjects[i].Wkp_Body + ' Weekly Body: ' + subjects[i].Wkp_Body + ' Weekly Lesson: ' + subjects[i].Wkp_lesson + '</div>'); 
      } 
     } 

CSS:

 div.panel,h1.flip 
     { 
     margin:0px; 
     padding:5px; 
     text-align:center; 
     background:#488AC7; 
     border:solid 1px #F6358A; 
     } 
    div.panel 
    { 
     height:120px; 
     display:none; 
    } 

Wissen Sie warum?

Vielen Dank :)

+0

Was funktioniert hier nicht? Ich habe eine Geige für dich erstellt (http://jsfiddle.net/fvv2n/). Passen Sie den Code Ihren eigenen, insbesondere dem HTML-Code an. So wie es ist, es funktioniert. – Armatus

+0

posten Sie Ihre HTML, und erstellen Sie ein Beispiel jsfiddle als @Armatus vorgeschlagen – DG3

+0

Es gibt kein HTML :) Es ist nur:

OnlyHope

Antwort

2

Wenn Sie nicht neueste Version von Jquery

$(".flip").live('click', function(e){ 
    $(this).next().slideToggle("fast"); 
}); 

anderweitig verwenden sollte es

$("#subjects").on('click', 'h1.flip', function(e){ 
    $(this).next().slideToggle("fast"); 
}); 

sein, weil Sie DOM (h1 mit Klassennamen flip) Elemente dynamisch innerhalb des #subjects (Element anfügen das hat ID = Themen) Element.

Referenzen: on und live (deprecated).

+0

Vielen Dank :) Es hat funktioniert. – OnlyHope

1

Neben meinem Kommentar, vergaßen Sie möglicherweise die jQuery-Bibliothek enthalten?

<script src="http://code.jquery.com/jquery-latest.js"></script> 

Dies wird die neueste Version direkt von jquery.com enthalten, obwohl es, dass Sie den Code kopieren vorgeschlagen wird und es in Ihrer eigenen Datei speichern.

+0

Ich habe es versucht, aber es funktioniert immer noch nicht :( – OnlyHope

+0

Haben Sie den Vorschlag in der Antwort oben versucht? Das ist wahrscheinlicher um das Problem zu sein. – Armatus