Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 03.04.2010, 10:16
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Для эмуляции CSS-свойства opacity в IE jQuery использует фильтр Alpha. Для всех элементов, к которым применяется фильтр, IE отключает сглаживание текста. Важен факт наличия фильтра, а не значение параметра opacity, поэтому фильтр нужно удалить вообще, что можно сделать очисткой свойства cssText (или удалением подстроки с описанием фильтра), так как jQuery добавляет CSS-стили в атрибут style элемента.

Последний раз редактировалось Octane, 03.04.2010 в 10:18.
Ответить с цитированием
  #12 (permalink)  
Старый 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.
Ответить с цитированием
  #13 (permalink)  
Старый 03.04.2010, 10:34
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Айба, совсем не в тему.
Ответить с цитированием
  #14 (permalink)  
Старый 03.04.2010, 10:44
Аватар для Айба
Новичок на форуме
Отправить личное сообщение для Айба Посмотреть профиль Найти все сообщения от Айба
 
Регистрация: 02.04.2010
Сообщений: 9

Octane,
ну значит я заметил просто особенность поведения данной программы в ie, подумал что это важно. Это было просто предположение
Ответить с цитированием
  #15 (permalink)  
Старый 03.04.2010, 10:45
Аватар для doniv
Аспирант
Отправить личное сообщение для doniv Посмотреть профиль Найти все сообщения от doniv
 
Регистрация: 02.03.2010
Сообщений: 73

Сообщение от Айба Посмотреть сообщение
В IE эта строка не отрабатывает и класс loading остается, из-за этого по видимому и сглаживания нет.
Неа, хотя класс действительно не там удалял спасибо
Ответить с цитированием
  #16 (permalink)  
Старый 03.04.2010, 10:55
Аватар для doniv
Аспирант
Отправить личное сообщение для doniv Посмотреть профиль Найти все сообщения от doniv
 
Регистрация: 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");
	}


И ничего. Где я косячу? запутался.
Ответить с цитированием
  #17 (permalink)  
Старый 03.04.2010, 11:01
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

$(".text-sec").get(0).style.cssText = "";


Screenshot
Ответить с цитированием
  #18 (permalink)  
Старый 03.04.2010, 11:15
Аватар для doniv
Аспирант
Отправить личное сообщение для doniv Посмотреть профиль Найти все сообщения от doniv
 
Регистрация: 02.03.2010
Сообщений: 73

Сообщение от Octane Посмотреть сообщение
$(".text-sec").get(0).style.cssText = "";


Screenshot
Эм, все верно. Стиль очищается. Но сглаживание не возвращается
Ответить с цитированием
  #19 (permalink)  
Старый 03.04.2010, 15:00
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Все сглаживается нормально

У вас не выходит из-за того, что функция animate асинхронно выполняется. Очищайте стиль в callback-функции, вызываемой по окончании анимации.

Последний раз редактировалось Octane, 03.04.2010 в 15:06.
Ответить с цитированием
  #20 (permalink)  
Старый 03.04.2010, 15:39
Аватар для doniv
Аспирант
Отправить личное сообщение для doniv Посмотреть профиль Найти все сообщения от doniv
 
Регистрация: 02.03.2010
Сообщений: 73

Сообщение от Octane Посмотреть сообщение
Все сглаживается нормально

У вас не выходит из-за того, что функция animate асинхронно выполняется. Очищайте стиль в callback-функции, вызываемой по окончании анимации.
Мне уже на самом деле стыдно, но как это сделать?
Совсем тупость вымораживает. По какому событию делать, где именно?
А почему не получается сделать после выполнения запроса, например в complete?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery ajax отправка запроса в htpps vova_b jQuery 19 07.03.2013 18:20
jQuery Click() не работает на объекте, созданном Ajax vovabigov jQuery 13 09.09.2012 14:25
IE 6, jquery, не работает ajax Прохожый jQuery 3 01.06.2010 17:20
JQuery + Ajax = загрузка изображений jokerbot jQuery 0 06.12.2009 15:10
При наборе адреса с www не работает AJAX (JQuery)! madmis AJAX и COMET 3 23.11.2009 19:03