03.04.2010, 10:16
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Для эмуляции CSS-свойства opacity в IE jQuery использует фильтр Alpha. Для всех элементов, к которым применяется фильтр, IE отключает сглаживание текста. Важен факт наличия фильтра, а не значение параметра opacity, поэтому фильтр нужно удалить вообще, что можно сделать очисткой свойства cssText (или удалением подстроки с описанием фильтра), так как jQuery добавляет CSS-стили в атрибут style элемента.
Последний раз редактировалось Octane, 03.04.2010 в 10:18.
|
|
03.04.2010, 10:16
|
|
Новичок на форуме
|
|
Регистрация: 02.04.2010
Сообщений: 9
|
|
а не отрабатывает она потому что:
Цитата:
|
var dbox = $(".text-sec");
|
а в тот момент элемент не:
$(".text-sec")
а
$(".text-sec loading")
я с jquery не сильно знаком, но думаю смысл понятен.
можно попробовать вместо присвоения
Цитата:
|
var dbox = $(".text-sec");
|
использовать :
$(".text-sec");
Последний раз редактировалось Айба, 03.04.2010 в 10:28.
|
|
03.04.2010, 10:34
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Айба, совсем не в тему.
|
|
03.04.2010, 10:44
|
|
Новичок на форуме
|
|
Регистрация: 02.04.2010
Сообщений: 9
|
|
Octane,
ну значит я заметил просто особенность поведения данной программы в ie, подумал что это важно. Это было просто предположение
|
|
03.04.2010, 10:45
|
|
Аспирант
|
|
Регистрация: 02.03.2010
Сообщений: 73
|
|
Сообщение от Айба
|
В IE эта строка не отрабатывает и класс loading остается, из-за этого по видимому и сглаживания нет.
|
Неа, хотя класс действительно не там удалял спасибо
|
|
03.04.2010, 10:55
|
|
Аспирант
|
|
Регистрация: 02.03.2010
Сообщений: 73
|
|
Сообщение от Octane
|
Для эмуляции CSS-свойства opacity в IE jQuery использует фильтр Alpha. Для всех элементов, к которым применяется фильтр, IE отключает сглаживание текста. Важен факт наличия фильтра, а не значение параметра opacity, поэтому фильтр нужно удалить вообще, что можно сделать очисткой свойства cssText (или удалением подстроки с описанием фильтра), так как jQuery добавляет CSS-стили в атрибут style элемента.
|
Я меняю это:
success: function(boxtext){
if ($(linkclass).attr("class") != "active") {
dbox.animate({ opacity: "0.1" }, 0).animate({ opacity: "1" }, 400);
dbox.html(boxtext);
}
dbox.removeClass('loading');
$(".inlink a").removeClass("active");
linkclass.addClass("active");
}
На это:
success: function(boxtext){
if ($(linkclass).attr("class") != "active") {
dbox.animate({ opacity: "0.1" }, 0).animate({ opacity: "1" }, 400);
dbox.html(boxtext);
}
dbox.removeClass('loading');
$(".text-sec").style.cssText = "";
$(".inlink a").removeClass("active");
linkclass.addClass("active");
}
И ничего. Где я косячу? запутался.
|
|
03.04.2010, 11:01
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
$(".text-sec").get(0).style.cssText = "";
Screenshot
|
|
03.04.2010, 11:15
|
|
Аспирант
|
|
Регистрация: 02.03.2010
Сообщений: 73
|
|
Сообщение от Octane
|
$(".text-sec").get(0).style.cssText = "";
Screenshot
|
Эм, все верно. Стиль очищается. Но сглаживание не возвращается
|
|
03.04.2010, 15:00
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Все сглаживается нормально
У вас не выходит из-за того, что функция animate асинхронно выполняется. Очищайте стиль в callback-функции, вызываемой по окончании анимации.
Последний раз редактировалось Octane, 03.04.2010 в 15:06.
|
|
03.04.2010, 15:39
|
|
Аспирант
|
|
Регистрация: 02.03.2010
Сообщений: 73
|
|
Сообщение от Octane
|
Все сглаживается нормально
У вас не выходит из-за того, что функция animate асинхронно выполняется. Очищайте стиль в callback-функции, вызываемой по окончании анимации.
|
Мне уже на самом деле стыдно, но как это сделать?
Совсем тупость вымораживает. По какому событию делать, где именно?
А почему не получается сделать после выполнения запроса, например в complete?
|
|
|
|