我遇到了一个小问题,涉及到我构建的一个循环。这是我第一次尝试使用jQuery构建循环。它是一个简单的“阅读更多/收起”按钮。
我遇到的问题很奇怪。当页面第一次加载时,它完美地工作,但在此之后的任何时间,它都会忽略ID的变化而运行整个过程。
HTML:
<div class="inner_container" id="tag_info"><?php?></div>
<a id="read_more">read more ></a>
jQuery:
$('a#read_more').click(function() {
$('#tag_info').stop().animate({
height: '100%'
}, 500 );
$(this).text('< read less');
$(this).removeAttr('id');
$(this).attr('id', 'read_less');
$('a#read_less').click(function() {
$('#tag_info').stop().animate({
height: '50px'
}, 500 );
$(this).text('read more >');
$(this).removeAttr('id');
$(this).attr('id', 'read_more');
});
});
CSS: [不需要锚点样式]
#tag_info {
height: 50px;
overflow: hidden;
}
任何时候(第一次之后),div都会立即动画到第一个点击函数中设置的高度,然后跳回到第二个点击函数中设置的高度。如果我将它们分成两个不同的点击函数,则第二个函数无法正常工作。最令人困惑的是,它可以运行一次,然后无法正常工作。有什么建议吗?