JQuery работает в FF, Chrome и Safari, но не IE - PullRequest
0 голосов
/ 28 марта 2012

Привет, у меня проблемы с работой нижеприведенного скрипта jquery в Internet Explorer. Кнопка больше не отвечает. Я не могу найти небольшие синтаксические ошибки и т. Д. Может ли кто-нибудь помочь мне изменить скрипт, чтобы он работал в IE. Если я запускаю IE в режиме совместимости, это работает. Спасибо.

$(document).ready(function() {
    var pid = $("div#productcontainerbottom").attr("class");
    var initialtotalcomments = $(".loadmore").attr("id"); //total comments before any inserts or deletes
    initialtotalcomments = parseInt(initialtotalcomments);
    if (initialtotalcomments <= 10) {
        $(".loadmore").hide();
    }
    if (initialtotalcomments >= 11) {
        $(".loadmore").show();
        $("#commentview").html(10 + " of ");
        $("#commentcount").html(initialtotalcomments);
    }
    $(".loadmore").click(function(e) {
        e.preventDefault();

        $.post("ajax/commentcount.php?id=" + pid, function(actualtotalcount) {
            var commentviewcountbeforeclick = $('.date').length; //number of comments displayed on page before more click. varies due to inserts or deletes before click of more button. each insert increases it by 1. each delete decreases it by 1.
            actualtotalcount = parseInt(actualtotalcount);
            //keeps track of actual total comment count adjusted for inserts and deletes
            var end = commentviewcountbeforeclick + 10;
            $(".loading").show();
            $.post("ajax/pull.php?id=" + pid, {
                end: end
            }, function(data) {
                $("#commentarea").html(data);
                $('.confirmdelete').hide();
                $(".loading").hide("slow");
                var commentviewafterclick = $('.date').length; //number of comments displayed on page after click(= to commentviewbeforeclick + num)
                if (actualtotalcount >= 11) {
                    $("#commentview").html(commentviewafterclick + " of ");
                    $("#commentcount").html(actualtotalcount);
                }
                if (commentviewafterclick == actualtotalcount) {
                    $(".loadmore").hide();
                }
            });
        });
    });
});

Ответы [ 2 ]

0 голосов
/ 12 декабря 2016

Не для того, чтобы воскресить довольно мертвый пост, но я столкнулся с той же самой ошибкой.Проблема, с которой я столкнулся, заключалась в том, что в передаваемых мной пост-параметрах был объект (в моем случае это был location объект).Переход на строковый URL-адрес решил проблему.

Если вы передаете пустой объект в вызов $.post() или $.getJSON() и не получаете сообщение об ошибке, посмотрите на передаваемые параметры.

Надеюсь, это поможет.

0 голосов
/ 28 марта 2012

Строка 38 и строка 40, добавьте ;.Вы также должны указать параметр radix в ваших parseInt s.Попробуйте сделать это, и, возможно, IE будет себя вести.

Редактировать: Вы также инициализируете actualtotalcount более одного раза.

...