Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.11.2009, 19:47
Интересующийся
Отправить личное сообщение для slim-v Посмотреть профиль Найти все сообщения от slim-v
 
Регистрация: 04.06.2009
Сообщений: 11

jQuery Использование textIndent при анимации
Ну собственно вот код который отлично работает в ИЕ и FF, а вот Opera этого не понимает что ли ...

$(document).ready(function(){
    $("#enterhere").focus(function()
    {
        if($(this).attr("value")=="что ищем?")
        {
           $(this).animate({"textIndent":"-100"},"slow",0,function()
           {
                $(this).attr("value","");
                $(this).css("textIndent","0");
           });
        }

    });
});
Ответить с цитированием
  #2 (permalink)  
Старый 17.11.2009, 19:55
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Отрицательный textIndent не работает?
Ответить с цитированием
  #3 (permalink)  
Старый 17.11.2009, 20:03
Интересующийся
Отправить личное сообщение для slim-v Посмотреть профиль Найти все сообщения от slim-v
 
Регистрация: 04.06.2009
Сообщений: 11

Сообщение от Octane
Отрицательный textIndent не работает?
Ну отрицательный или не отрицательный особо роли не играет. Такое впечатление, что для Opera нельзя использовать этот параметр в анимации.

Анимация отрабатывает textIndent=-100 а визуально этого как то не видно .
Ответить с цитированием
  #4 (permalink)  
Старый 17.11.2009, 20:06
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Ну так попробуйте в CSS записать, чтобы проверить, работает ли в Opera отрицательный text-indent для элементов ввода?
Ответить с цитированием
  #5 (permalink)  
Старый 17.11.2009, 20:09
Интересующийся
Отправить личное сообщение для slim-v Посмотреть профиль Найти все сообщения от slim-v
 
Регистрация: 04.06.2009
Сообщений: 11

Сообщение от Octane
Ну так попробуйте в CSS записать, чтобы проверить, работает ли в Opera отрицательный text-indent для элементов ввода?
Всмысле хотел сказать работает отрицательный, проверял.

Работает и в том случае если писать вот так вот
$(this).css("textIndent","-100");
а вот сама анимация с textIndent не работает.
Ответить с цитированием
  #6 (permalink)  
Старый 17.11.2009, 20:22
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

А если единицы измерения написать?
$(this).animate({"textIndent":"-100px"}, …
Ответить с цитированием
  #7 (permalink)  
Старый 17.11.2009, 20:25
Интересующийся
Отправить личное сообщение для slim-v Посмотреть профиль Найти все сообщения от slim-v
 
Регистрация: 04.06.2009
Сообщений: 11

Сообщение от Octane Посмотреть сообщение
А если единицы измерения написать?
$(this).animate({"textIndent":"-100px"}, …
Пробовал, не помагает. Мне кажеться это чет не так с Оперой. Ибо textIndent изменяеться, но не отрисовывается. Вообще станно как то.
Ответить с цитированием
  #8 (permalink)  
Старый 17.11.2009, 20:45
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Да, действительно не работает, проверил. Ну попробуйте как-то так:
$(document).ready(function(){
	$("#enterhere").focus(function () {
		if(this.value == "что ищем?") {
			var input = this;
			(function () {
				if (input.value) {
					input.value = input.value.slice(1);
					setTimeout(arguments.callee, 100);
				}
			}());
		}
	});
});
Ответить с цитированием
  #9 (permalink)  
Старый 17.11.2009, 21:43
Интересующийся
Отправить личное сообщение для slim-v Посмотреть профиль Найти все сообщения от slim-v
 
Регистрация: 04.06.2009
Сообщений: 11

Сообщение от Octane Посмотреть сообщение
Да, действительно не работает, проверил. Ну попробуйте как-то так:
$(document).ready(function(){
	$("#enterhere").focus(function () {
		if(this.value == "что ищем?") {
			var input = this;
			(function () {
				if (input.value) {
					input.value = input.value.slice(1);
					setTimeout(arguments.callee, 100);
				}
			}());
		}
	});
});
Ну именно этот код не пробовал, завтра попробую отпишу, пробовал в цикле менять без animate jQuery. Былы предпосылки на то что именно в нем проблема. Оказалось нет. Старнная штука получилась. Если менять в цикле или по таймеру свойство textIndent, то он меняеться в Опере но не отрисовывается (не видно визуально эфекта от изменения). А вот если просто задать это свойство все ок. Старнно но факт остается фактом. Чую нашел баг, и стоит проинформировать разработчиков ибо до версии 10 он присутсвует. Я прав?
Ответить с цитированием
  #10 (permalink)  
Старый 17.11.2009, 22:10
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от slim-v
Чую нашел баг
Да в Опера баг на баге от версии к версии, не удивительно
http://www.opera.com/support/bugs/
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery поменять CSS цвет для текста при наведении мышью (.text:hover) JooZ jQuery 16 15.11.2010 19:56
Сглаживание при анимации everm1nd Общие вопросы Javascript 4 24.08.2009 19:01
Проблема при работе с плагином jQuery Map Hilight REp0rtER jQuery 3 29.07.2009 22:10
JQUERY как убить сессию при закрытиии документа Ryo Hazuki jQuery 11 14.07.2009 18:52
jQuery UI datepicker -- не биндится при загрузке mkrylov jQuery 4 20.05.2009 20:36