Чрезвычайно медленное выполнение функции скрытия / показа при работе с большим количеством элементов - PullRequest
6 голосов
/ 05 апреля 2011

У меня ужасная производительность, когда я выполняю $ ("# myDiv"). Show () и $ ("# myDiv"). Hide () только в Safari и Chrome на Mac, во всех других браузерах, включая IE6. отлично работают на ПК и Mac, так что это проблема Webkit.

Div "myDiv" содержит большое количество элементов, включая множество флажков, вкладки JqueryUI и 3 ползунка.

Я попытался добавить addClass вместо show / hide, я попытался установить значение поля -10000 и вернуться к 0, и ничего из этого не помогло. Есть ли обходной путь или это ограничение этих браузеров?

Ответы [ 4 ]

9 голосов
/ 05 апреля 2011

Хорошо, я прошу прощения за это, но это сногсшибательно ....

После прочных 50 JS-настроек безрезультатно получается, что моя проблема была в CSS !!!

Потратив на это целый день, получается, что "background-size: 100%;" вылетает webkit! Это безумие ... Удаление этой строки убрало все мои сбои.

Опять же, очень жаль, что сообщили о неправильной проблеме.

5 голосов
/ 05 апреля 2011

Кажется, это уже обсуждаемая проблема Jquery hide () и show () работают слишком медленно в Google Chrome .Они определили, что это ошибка в Chrome.

4 голосов
/ 05 апреля 2011

Вы можете попробовать это:

$("#myDiv").css("display", "none");
3 голосов
/ 05 апреля 2011

Попробуйте кэшировать myDiv, выполнив var $mydiv = $('#myDiv'), а в селекторе просто используйте $myDiv.Это позволит избежать создания объекта jQuery каждый раз, когда вы хотите показать или скрыть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...