Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2011, 19:36   #1
lowercase
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 88
По умолчанию проблема при установке background-position

доброго времени суток, столкнулся с проблемой: если задавать значение background-position через переменную то ie7-8 не хочет воспринимать такой код.. короче говоря если задать так
Код:
var hb = $(this).children(".item_content").css("height"); // hb уже будет какбы string, потому что после числа высоты будут ед. измерения ("px");
$(b).css({backgroundPosition: "0px " + hb}); // но это не мешает браузерам ие налажать в самый ответственный момент...
то данный код в ие7-8 не будет работать, но если тыцнуть вот так
Код:
$(b).css({backgroundPosition: "0px 50px"});
то все будет ок...
полный код:
Код:
$(document).ready(function() {
  $("#nav1 li").hover(function() {
		var block = $(this).children(".popup_block");
		var hb = $(this).children(".item_content").css("height");
		var b = $(block).children(".border_t").children(".border_r").children(".border_l");
		$(b).css({backgroundPosition: "0px " + hb}); // тут какбэ ie7-8 лажает
		$(block).stop(true,true).animate({opacity: "show"}, 100).show(); 
	  }, function(){
		$(this).children(".popup_block").stop(true,true).animate({opacity: "hide"}, 100);
	});
});
пробовал приводить к строчному типу переменную hb - разницы никакой..
зы: в нормальных браузерах(опера фф хром) все гуд. даже очень.. лажает только ие7-8(9 нормально работает)

Последний раз редактировалось lowercase; 27.08.2011 в 19:40.
lowercase вне форума Ответить с цитированием
Старый 27.08.2011, 20:22   #2
lowercase
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 88
По умолчанию

ау народ, я уже вешаться собрался иза этой проблемы.. сижу уже веревку намылеваю... ну серьезно пол дня уже сижу над строчкой $(b).css("background-position", "0px " + hb) ничего не могу сделать чтобы в ие7-8 все было гуд((
lowercase вне форума Ответить с цитированием
Старый 27.08.2011, 20:41   #3
justmozg
Пользователь
 
Регистрация: 26.08.2011
Сообщений: 41
По умолчанию

Цитата:
Сообщение от lowercase Посмотреть сообщение
ау народ, я уже вешаться собрался иза этой проблемы.. сижу уже веревку намылеваю... ну серьезно пол дня уже сижу над строчкой $(b).css("background-position", "0px " + hb) ничего не могу сделать чтобы в ие7-8 все было гуд((
а ты проверял, что присваивается hb? выведи его простым алертом.
justmozg вне форума Ответить с цитированием
Старый 27.08.2011, 21:20   #4
lowercase
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 88
По умолчанию

проверял и не раз выводятся строчки типа "15px" "50px"... высота блока выводится и всего то..

зы: в такие моменты просто хочется взорвать к чертям весь майкрософт с их долбаными ие... чесно.. я уже так измучался за целый день.. что прям ничерта не хочется уже.. да и если бы проблема была решена.. эх. ну вот везде работает. а ие не хочет(( печаль

Последний раз редактировалось lowercase; 27.08.2011 в 21:24.
lowercase вне форума Ответить с цитированием
Старый 27.08.2011, 21:28   #5
justmozg
Пользователь
 
Регистрация: 26.08.2011
Сообщений: 41
По умолчанию

Цитата:
Сообщение от lowercase Посмотреть сообщение
проверял и не раз выводятся строчки типа "15px" "50px"... высота блока выводится и всего то..

зы: в такие моменты просто хочется взорвать к чертям весь майкрософт с их долбаными ие... чесно.. я уже так измучался за целый день.. что прям ничерта не хочется уже.. да и если бы проблема была решена.. эх. ну вот везде работает. а ие не хочет(( печаль
Используй промежуточную переменную, сначала сложи "0px" и hb, результат в переменную, а потом подставь в функцию. Если не получится посмотри что заносится в промежуточную переменную.
justmozg вне форума Ответить с цитированием
Старый 27.08.2011, 21:47   #6
lowercase
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 88
По умолчанию

делал так тоже и увы..
lowercase вне форума Ответить с цитированием
Старый 27.08.2011, 21:48   #7
justmozg
Пользователь
 
Регистрация: 26.08.2011
Сообщений: 41
По умолчанию

Цитата:
Сообщение от lowercase Посмотреть сообщение
делал так тоже и увы..
и что записывается в промежуточную переменную?
justmozg вне форума Ответить с цитированием
Старый 27.08.2011, 21:55   #8
lowercase
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 88
По умолчанию

ээ.. делал но не для ие... в нормальных браузерах выводится 0px 80px.. а в ие выводится 0px auto... че за бред?... я конечно понимаю что высота поумолчанию задана как авто, но ведь в данный момент елемент имеет же какуюто точноую высоту.. эх.. шо за браузеры такие.. и как мне узнать высоту блока чтобы знать на какую высот сместить фон?
lowercase вне форума Ответить с цитированием
Старый 27.08.2011, 22:06   #9
lowercase
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 88
По умолчанию

ыыыыыыы кажысь понял как... хорошо что у мну крянутый cs5 дривмививер подсказывает методы jquery.. ыы и как я раньше не додумался.. вобщем если кто так же как и я целый день будет ломать голову над подобной проблемой.. не юзайте css("height") заюзите просто метод height() удачи
зы: justmozg тебе то большущее спс!!)) еслибы не написал "проверь что выводит", то наверное бы еще не один день ломал голову.. а так.. проверил, что там auto, ну и посмотрел как еще можно узнать высоту.. а height() выводит точную высоту без всяких px... только число..
lowercase вне форума Ответить с цитированием
Старый 27.08.2011, 22:17   #10
justmozg
Пользователь
 
Регистрация: 26.08.2011
Сообщений: 41
По умолчанию

Цитата:
Сообщение от lowercase Посмотреть сообщение
ыыыыыыы кажысь понял как... хорошо что у мну крянутый cs5 дривмививер подсказывает методы jquery.. ыы и как я раньше не додумался.. вобщем если кто так же как и я целый день будет ломать голову над подобной проблемой.. не юзайте css("height") заюзите просто метод height() удачи
зы: justmozg тебе то большущее спс!!)) еслибы не написал "проверь что выводит", то наверное бы еще не один день ломал голову.. а так.. проверил, что там auto, ну и посмотрел как еще можно узнать высоту.. а height() выводит точную высоту без всяких px... только число..
можно было сделать еще через свойство элемента clientHeight, хранящее число.
Да, пожалуйста)
justmozg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема при установке Windiws 7.. slipknot666max Windows 2 17.01.2010 10:06
Проблема при установке ОС DRAGGER Компьютерное железо 6 30.09.2009 09:22
CSS ролловер как закрепить background-position после клика Maksimcase HTML и CSS 1 14.05.2009 11:37
Проблема при установке VISTA NITRO2025 Windows 7 25.01.2009 22:37
Проблема при установке 2 win Bandit71 Компьютерное железо 5 15.06.2008 21:13