我使用以下代码来运行幻灯片切换,但是当我单击它时它无法打开:

JS代码:

    <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;
     }


你知道为什么吗?

非常感谢 :)

最佳答案

如果您没有使用最新版本的jquery

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


否则应该是

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


因为要在DOM(具有id = subjects的元素)元素内动态添加h1flip具有类名#subjects)元素。

参考:onlive (deprecated)

09-17 23:00