我使用以下代码来运行幻灯片切换,但是当我单击它时它无法打开:
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的元素)元素内动态添加h1
(flip
具有类名#subjects
)元素。参考:on和live (deprecated)。