jquery prepend работает во всех браузерах, кроме IE7 - PullRequest
0 голосов
/ 17 сентября 2010

Arrg! Мой сайт (в процессе) работает отлично во всех браузерах, которые я тестировал на сегодняшний день (Firefox, Safari, Chrome и IE8), но не в IE7 (я не знаю о IE6 или других браузерах) .... Я Я не уверен, но я думаю, что проблема связана с использованием prepend () в моем jQuery. Основными проблемами являются главное меню (должно отображаться на синей горизонтальной полосе слева от логотипа), а также поле поиска в правом верхнем углу, добавленные с использованием prepend. В IE7 есть и другие проблемы, поэтому я не уверен, что я нахожусь на правильном пути, думая, что это из jQuery или нет, или если в моем текущем беспорядке css есть опечатка!

Вот скрипт, который я использую для главного меню, который не работает в IE7, но работает в других браузерах - кто-нибудь видит здесь проблему?

<script type="text/javascript">
<!--
$(function() {

/* ************************************** */
/* main menu */
/* ************************************** */
$("#bannerAreaWrapper").prepend("<div id='MainMenu'><a id='neutralsBtn' class='MainMenuModule' href='/neutrals-overview/'>Neutrals</a> <span class='bullet'>•</span> <a id='practicesBtn' class='MainMenuModule' href='/practices/'>Practices</a> <span class='bullet'>•</span> <a id='locationsBtn' class='MainMenuModule' href='/locations/'>Locations</a></div>");

});
-->
</script>

Вот ссылка на сайт: http://www.agencydr.squarespace.com Помощь приветствуется !!

Ответы [ 2 ]

3 голосов
/ 17 сентября 2010

IE7 находит две ошибки JavaScript на вашем сайте:

Expected identifier, string or number line 139
$('#LocationsMapWrapper').hover(function() {
   $('#LocationsMapWrapper #MapImage').animate({
      width: 600,
      height: 375,
      marginLeft: 550,
      marginTop: -20,                <---- remove comma
   }, "slow", "easeOutQuad");
 }

 'document.getElementById(...)' is null or not an object line 355
Shadowbox.setup(document.getElementById('Map').getElementsByTagName('area'), {width : 450, height : 400});
1 голос
/ 17 сентября 2010

Ваша функция prepend работает нормально, когда я запускаю ее через консоль сценария панели инструментов dev в IE7, хотя она не работает при загрузке.Вы получаете ошибку js на IE8 и два на IE7.Дополнительная функция в IE7 связана с этой функцией:

$('#LocationsMapWrapper').hover(function() {
   $('#LocationsMapWrapper #MapImage').animate({
      width: 600,
      height: 375,
      marginLeft: 550,
      marginTop: -20,
   }, "slow", "easeOutQuad");
 }

специально для строки 139

Попробуйте удалить ее и посмотрите, работает ли навигация должным образом при загрузке страницы

РЕДАКТИРОВАТЬ

Boom, получил его.

Попробуйте удалить запятую после 'marginTop: -20,' Последний элемент не должен иметь это, думаю, что это влияет на все старыебраузеры

...