У меня есть небольшая проблема с циклом, который я построил. Это первый случай, когда я пытался построить цикл с помощью jQuery. Это простая кнопка «читать/уменьшать».jQuery цикл работает один раз
Вопрос, который у меня есть, является странным. Когда первая страница загружается, она работает отлично, но в любое время после этого она выполняет все это без учета изменения идентификатора.
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;
}
Что происходит (в любое время после того, как в первый раз) является ДИВ будет мгновенно изменяться до высоты, установленной в первой функции щелчка, а затем вернуться к высоте, заданной во втором клике функция.
Если я отделяю их на две разные функции щелчка, вторая не работает. Самое сложное в том, что он работает один раз, а затем не работает должным образом. Какие-либо предложения?
Вы никогда не должны использовать что-то перед ID для Jquery селекторов (IE: $ ('а # READ_MORE') должно быть $ ('# READ_MORE')) является более эффективным –
Какой цикл вы имеете в виду? У вас их нет в примерах. –
Изменение идентификатора после привязки обработчика события, не изменяет обработчик события или какой элемент он привязан. – adeneo