Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Не работает jQuery в IE8-IE11 и FireFox

Ответить
Настройки темы
Не работает jQuery в IE8-IE11 и FireFox

Новый участник


Сообщения: 43
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Мамелюк
Дата: 20-11-2015
Добрый день.
Подскажите, пожалуйста, почему данный скрипт работет Хроме, Яндексе, Комодо, Опере и не работает в IE8-11 и Файерфоксе.
И как можно его изменить кроссбраузерно.

Этот скрипт меняет фоновые картинки у менюшки в зависимости от того, развернута эта менюшка или нет (за разворачиваемость по клику отвечает другой скрипт).

Заранее спасибо!

HTML код: Выделить весь код
<html> <meta charset="utf-8"> <title></title> <meta name="title" content=""> <style type="text/css"> .qrf_list li .qrf_name{position:relative;display:block;background:red url(http://site.ru/images/bottom_white_10px.png) no-repeat 98% 50%} </style> <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script type="text/javascript"> $(function(){ $(".qrf_name").on('click', function(){ if ("url(http://site.ru/images/bottom_white_10px.png)" === $(this).css("background-image")) { $(this).css({"background-image":"url(http://site.ru/images/top_white_10px.png)","background-color":"blue"}); alert("11111111"); } else { $(this).css({"background-image":"url(http://site.ru/images/bottom_white_10px.png)","background-color":"red"}); alert("222222222"); } return false; }); }); </script> <ul class="qrf_list"> <li><span class="qrf_name">НАЗВАНИЕ БЛОКА</span> <ul> <li> СОДЕРЖИМОЕ БЛОКА1 </li> <li> СОДЕРЖИМОЕ БЛОКА2 </li> </ul> </li> </ul> </html>


Отправлено: 17:01, 20-11-2015

 

Аватара для Habetdin


Автор проектов


Сообщения: 3651
Благодарности: 1498

Профиль | Сайт | Отправить PM | Цитировать


Цитата Мамелюк:
не работает в IE8-11 и Файерфоксе »
Следующее условие не срабатывает и всегда выполняется блок с alert("222222222"):
Код: Выделить весь код
if ("url(http://site.ru/images/bottom_white_10px.png)" === $(this).css("background-image"))
Потому что IE/Firefox возвращают свойство background-image в виде «url("http://site.ru/images/bottom_white_10px.png")» - с выделенными кавычками.
С заменой кавычек будет работать:
Код: Выделить весь код
$(function() {
  $(".qrf_name").on('click', function() {
    if ("url(http://site.ru/images/bottom_white_10px.png)" === $(this).css("background-image").replace(/"/g, "")) {
      $(this).css({
        "background-image": "url(http://site.ru/images/top_white_10px.png)",
        "background-color": "blue"
      });
      alert("11111111");
    } else {
      $(this).css({
        "background-image": "url(http://site.ru/images/bottom_white_10px.png)",
        "background-color": "red"
      });
      alert("222222222");
    }
    return false;
  });
});

-------
Рекомендую: $25 на тест виртуального сервера (VPS) за регистрацию по ссылке


Последний раз редактировалось Habetdin, 20-11-2015 в 19:16.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:03, 20-11-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 43
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Habetdin:
Потому что IE/Firefox возвращают свойство background-image в вид »
Точно! Спасибо! Значит придется делать через замену класса, а не свойства (это тоже не моё решение, на другом сайте подсказали только что)

ps Производители браузеров производили браузеры, производили, да не выпроизводили...(((

Отправлено: 19:50, 20-11-2015 | #3



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Не работает jQuery в IE8-IE11 и FireFox

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - [решено] Удаление IE8 или обновление до IE11 после апгрейда с 2003 Elven Windows Server 2008/2008 R2 8 25-06-2015 08:50
Почему на jquery это не работает? maasja Вебмастеру 0 14-04-2011 20:00
jQuery .animate() не работает ManHack Вебмастеру 2 03-03-2011 12:16
[решено] jquery и IE8, проблема анимации Strange_V Вебмастеру 1 29-09-2010 17:50
Интернет - [решено] Проблема с браузерами IE8,Opera,Mozilla Firefox Muxa_Val Microsoft Windows 7 13 20-08-2010 12:23




 
Переход