чтобы загрузить меню в первую очередь, но это немного взломать. Все еще

я были некоторые серьезные проблемы с макетом, который я делаю специально в Internet Explorer. Я знаю, что IE преобразует ширину и высоту по-разному, когда есть границы и отступы, поэтому я включил коды в свой CSS, чтобы навигация в IE выглядела так же, как в Mozilla и Chrome.

Проблема, с которой я сталкиваюсь сейчас, заключается в том, что у меня на навигации запущена анимация jquery, и она в IE не работает, в основном из-за разницы в высоте между моим кодом Mozilla / Google и особенностями IE. Я просмотрел несколько сайтов и создал отдельный файл jquery с параметрами высоты, чтобы навигация в IE выглядела нормально, но по какой-то причине IE вытягивает файл из menu.js вместо iemenu.js

Я нашел несколько сайтов с разными частями кода, чтобы попытаться заставить IE читать iemenu.js вместо menu.js, в то время как другие браузеры читают menu.js. К сожалению, по какой-то причине IE не будет читать iemenu.js, а будет читать menu.js.

я пытался

<script type="text/javascript">var runFancy = true;</script>
<script>runFancy = true;</script>
<!--[if IE]>
<script type="text/javascript">
runFancy = false;
</script> // <script type="text/javascript" src="iemenu.js"></script>
<![endif]-->

<script type="text/javascript" src="menu.js"></script>

Я также пытался

<!--[if IE 9]>
<script type="text/javascript" src="iemenu.js"></script>
<![endif]--> 

Другой, который я нашел, что не работал также:

<!--[if lt IE 9]>
<script type="text/javascript" src="iemenu.js"></script>
<![endif]-->

Другая проблема, с которой я сталкиваюсь, - это анимация, из-за которой навигация уменьшается в высоту, а затем возвращается к нормальному размеру, когда мышь убирается. , Я проверил это без заполнения, и анимация работает нормально, но примерно половина текста обрезается после анимации. Я также попытался использовать плагин hoverintent, который не устранял проблему с глюками.

Вот пример навигации CSS:

.nav1 {
 width:96px;
 bottom:0;
 right: 311px;
 height:45px;
 font-size:20px;
 font-family:Verdana, Geneva, sans-serif;
 color:#ffffff;
 padding-top:15px;
 padding-bottom:0px;
 display: inline-block;
 position:absolute;
 text-align:center;
 border:1px solid;
 border-bottom:0px;
 border-color:#000000;
 background: url("images/navbg.jpg") no-repeat;
 }

 * html .nav1 {
\width: 96px; /* for IE5 and IE6 in quirks mode */
 w\idth: 98px; /* for IE6 in standards mode */
 \height: 61px; /* for IE5 and IE6 in quirks mode */
 h\eight: 62px; /* for IE6 in standards mode */
 }

А вот и код jquery. И iemenu.js, и menu.js построены одинаково, у них просто разные значения высоты:

$(function() {

$('.nav1').hover(function() {
    $(this).stop().animate({height:30, right: 311}, 300);
}, function() {
    $(this).stop().animate({height:45, right: 311}, 300);
});

 $('.nav2').hover(function() {
    $(this).stop().animate({height:30, right: 408}, 300);
}, function() {
    $(this).stop().animate({height:45, right: 408}, 300);
});

  $('.nav3').hover(function() {
    $(this).stop().animate({height:30, right: 505}, 300);
}, function() {
    $(this).stop().animate({height:45, right: 505}, 300);
});


  $('.nav4').hover(function() {
    $(this).stop().animate({height:30, right: 602}, 300);
}, function() {
    $(this).stop().animate({height:45, right: 602}, 300);
});



});

Я попробовал почти все приемы исправления IE в книге, которую я знаю, и нашел в Интернете и здесь, и на других сайтах, и пока что ничего не работает .... Я работаю над IE 7.

Кроме того, для справки, если это поможет, я поместил коды if IE после html моего другого скрипта и до

Ответы на вопрос(2)

Ваша потребность$ .browser

if ($.browser.msie) {
    alert("this is ie!");
 }

Для загрузки скрипта вы можете использовать$ .getScript

$.getScript('ajax/test.js', function() {
  alert('Load was performed.');
});

Итак, последний пример

<script type="text/javascript" src="iemenu.js">
   if ($.browser.msie) {
      $.getScript('iemenu.js', function() {});
     }
</script>
 1nfiniti20 апр. 2012 г., 15:42
Есть ли проблемы с использованием $ .browser с точки зрения передового опыта?
Решение Вопроса

Попробуйте это так:

<script type="text/javascript">var runFancy = true;</script>
<script>runFancy = true;</script>
<script type="text/javascript" src="menu.js"></script>
<!--[if IE]>
<script type="text/javascript">
runFancy = false;
</script> // <script type="text/javascript" src="iemenu.js"></script>
<![endif]-->

В этом случае menu.js будет загружен первым, а iemenu.js будет загружен позже. И если функции одинаковы, функция ie перезапишет «нормальную» функцию, и она должна работать.

 Cloudy07 янв. 2011 г., 09:39
Сработало отлично, спасибо = D

Ваш ответ на вопрос