2013-02-10 2 views
-2

EDIT: FIXED: Спасибо за помощь всем..animate() работает в Firefox, Chrome и IE9, но не в IE10 (JQuery 1.8.3 и 1.9.1)

Проблема оказалась эта сирота строка в коде CSS:

  • {переход: все 0.2s легкость; }

Удаление этой линии исправлена ​​проблема

Оригинал сообщения:

Я только начал кодирования после 10 летнего перерыва. Я пытаюсь заставить некоторый код работать, чтобы оживить меню от середины до верхней части страницы. Он работает в Firefox, Chrome и IE9, но работает в IE10. Я пробовал как JQuery 1.6.3, так и 1.9.2 без разрешения.

Редактировать: Наведение курсора отлично работает в IE10. Под сломанным я имею в виду, что меню не оживляет в IE10. В IE10 нет ошибок javascript. В IE10 щелчок отлично фиксируется, так как window.location.href корректно изменяется на назначение.

Отрывок:

<header id="menubar" style="top: 496px; left: 80px; width: 1360px;"> 
    <ul id="surnav"> 
    <li class="menu-hover"> <a href= 
     "index.html">Home</a> </li> 
    <li id="appointments" class="menu-hover"> <a href= 
     "#">Appointments</a> <img src="norwood_files/snav-arrow.png" width="10" height="5" /> 
     <ul class="submenu"> 
     <li>Emergencies</li> 
     </ul> 
    </li> 
    </ul> 
</header> 

JavaScript:

$(document).ready(function() { 

if (document.URL.indexOf("index.html") >= 0) { 
    $("#menubar").css("top", "496px"); 
    $(".menu-hover").on({ 
     click: function() { 
      $("#menubar").animate({ 
       top: '50px' 
      }, "easing:swing"); 
     }, 
     mouseenter: function() { 
      $(this).children(".submenu, img").fadeIn(250); 
     }, 
     mouseleave: function() { 
      $(this).children(".submenu, img").fadeOut(250); 
     } 
    }); 

    $("#appointments").on({ 
     click: function() { 
      $("#appointments-bkg").animate({ 
       top: '-14px' 
      }, "easing:swing", function() { 
       window.location.href = "appointments.html" 
      }); 
     } 
    }); 

    $("#financial").on({ 
     click: function() { 
      $("#financial-bkg").animate({ 
       top: '-14px' 
      }, "easing:swing", function() { 
       window.location.href = "financial.html" 
      }); 
     } 
    }); 
} 
}); 

Спасибо!

+1

Что означает «сломан», и каковы ошибки JavaScript? – Sparky

+0

Что говорит консоль? – Mahn

+0

ошибок javascript нет. консоль не имеет ошибок –

ответ

3

Возможно, попробуйте if(window.location.href.match(/index\.html/i) вместо if(document.URL.indexOf("index.html") >= 0) Кроме этого, учитывая, что все остальные браузеры в порядке, я не понимаю, почему он не работает в IE10.

+0

Собственно, вместо выполнения 'string.match' используйте' /regexp/.test (string) '. Это быстрее, и это именно то, что вам нужно. Недавно я предположил, что объект 'window.location' был изменен, поскольку некоторый код, который я написал для входа в XDM на основе iframe, нарушен из-за' window.location.hash() 'изменения его поведения (возможно, в новом версии браузеров) –

+0

спасибо, я обновлю код. Я знаю, однако, что оператор if срабатывает, поскольку подменю исчезает в IE10. Может ли это быть ошибкой в ​​JQuery? –

+0

Спасибо за помощь всем. Проблема оказалась такой сиротой в коде CSS: * {переход: все 0.2s легкость; } Снятие этой строки устраняет проблему –

Смежные вопросы