Следующий фрагмент jQuery используется на странице с сообщением вверху и всеми комментариями, которые отвечают на сообщение под ним. Код работает в IE8 / Chrome / Firefox, когда он «сворачивает» все комментарии ниже исходного сообщения, поэтому появляются только их темы. Нажатие на их темы затем заменяет исходное сообщение комментарием (то есть оно «подделывает» действие размещения каждого комментария на своей странице).
Проблема в том, что IE6 отказывается работать с кодом; когда посетители IE6 попадают на страницу, все комментарии отказываются сворачиваться, а щелчки по заголовкам ничего не делают.
Кто-нибудь знает, как исправить эту проблему, чтобы сделать JS ie6 совместимым?
function flip(comment) {
$('#first-post').replaceWith(comment.closest(".comment").clone().attr('id','first-post'));
$('#first-post').children('.forumthreadtitle').children('.comment-info').empty();
$('#first-post').find(':hidden').fadeIn('slow');
$('html, body').animate({scrollTop:0}, 'fast');
return false;
}
$(document).ready(
function(){
$('.submitted').each(function() {
$(this).clone().addClass('comment-info').appendTo($(this).siblings('.forumthreadtitle'));
if(!$(this).parent('#first-post').html()) {
$('#first-post').children('span.taxonomy').clone().appendTo($(this));
}
});
$('.display_mode').html('Show All Replies');
expandedMode = false;
$('.display_mode').click(function() {
if ( expandedMode == false ) {
$('.forumthreadtitle').siblings().show();
$(this).html('Collapse Replies');
expandedMode = true;
}
else
{
$('.forumthreadtitle').siblings().hide();
$(this).html('Show All Replies');
expandedMode = false;
}
});
$('.forumthreadtitle').siblings().hide();
if(window.location.hash) {
flip($(window.location.hash).next().children('.forumthreadtitle').show());
}
$('.forumthreadtitle').click(function() {
pageTracker._trackPageview("/comment?page=" + document.location.pathname);
flip($(this));
} );
});
Вот пример HTML (попытался немного упростить его, чтобы его было легче понять):
<DIV id="first-post">
<H2 class="title"><A href="test.html">TEST</A></H2>
<SPAN class="submitted">Submitted by Big J on July 26, 2010 - 3:26pm</SPAN>
<DIV class="content">First Post</DIV>
</DIV>
<DIV id="comments">
<A id="comment-1643951"></A>
<DIV class="comment comment-published clear-block">
<H3 class="forumthreadtitle"><A href="test.html#comment-1643951" class="active">Test Reply....</A>
<DIV class="submitted comment-info">Submitted by test on July 26, 2010 - 4:49pm.</DIV>
</H3>
<DIV class="content" style="display: none; ">
Test Comment Content
</DIV>
</DIV>
</DIV>