Jquery, Ajax, IE
http://www.ooo-tibis.ru/index.html
Вот на этом сайте, в верхнем меню(Телекоммуникации, Безопасность...) по ссылкам подгружается содержимое. Дак вот, в браузере IE6-8 подгружаемый текст не сглаживается. В чем тут дело? |
в IE7 тоже не сглаживает, интересно почему, гугляну ка...
|
Очень странно...
Из "Arial, Tahoma, Verdana" уберите Ариал, и сглаживание работает. |
Цитата:
|
Везде убрали?
|
Цитата:
|
скорее в настройках шрифта дело, у меня скрипт делает три клона, и добавляет, текст сглаженый
в css настройки текста font-family: arial, verdana, sans-serif; |
Это из-за фильтра Alpha. Удалите его вообще по окончании анимации и текст будет сглажен.
элемент.style.cssText = ""; |
Цитата:
$(".inlink a").click(function(){ var cont = $(this).attr('id'); var ysl = $(this).attr('class'); var dbox = $(".text-sec"); var linkclass = $(this); $.ajax({ url: 'textsec/'+cont+'.html', beforeSend: function(){ dbox.addClass('loading'); }, success: function(boxtext){ if ($(linkclass).attr("class") != "active") { dbox.animate({ opacity: "0.1" }, 0).animate({ opacity: "1" }, 400); dbox.removeClass('loading'); dbox.html(boxtext); } $(".inlink a").removeClass("active"); linkclass.addClass("active"); } }); }); Вот код, который подгружает содержимое. Где именно удалить? |
Цитата:
|
Для эмуляции CSS-свойства opacity в IE jQuery использует фильтр Alpha. Для всех элементов, к которым применяется фильтр, IE отключает сглаживание текста. Важен факт наличия фильтра, а не значение параметра opacity, поэтому фильтр нужно удалить вообще, что можно сделать очисткой свойства cssText (или удалением подстроки с описанием фильтра), так как jQuery добавляет CSS-стили в атрибут style элемента.
|
а не отрабатывает она потому что:
Цитата:
$(".text-sec") а $(".text-sec loading") я с jquery не сильно знаком, но думаю смысл понятен. можно попробовать вместо присвоения Цитата:
$(".text-sec"); |
Айба, совсем не в тему.
|
Octane,
ну значит я заметил просто особенность поведения данной программы в ie, подумал что это важно. Это было просто предположение ;) |
Цитата:
|
Цитата:
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"); } И ничего. Где я косячу? запутался. :help: |
|
Цитата:
|
Все сглаживается нормально
У вас не выходит из-за того, что функция animate асинхронно выполняется. Очищайте стиль в callback-функции, вызываемой по окончании анимации. |
Цитата:
Совсем тупость вымораживает. По какому событию делать, где именно? А почему не получается сделать после выполнения запроса, например в complete? |
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 12:29. |