JQuery не работает в IE8? - PullRequest
3 голосов
/ 04 мая 2010

Я работаю над сайтом здесь: mfm.treethink.net Все jquery отлично работают в Firefox, Chrome и Safari, но в IE8 это дает мне ошибки, и баннер вверху не работает (который использует плагин crossSlide jQuery), а также ролловеры изображений не работают с изменением цвета .

IE8 сообщает мне, что ошибки находятся в строках 53, 134 и 149 в источнике, во всех этих строках объявлена ​​функция jquery.

$(document).ready(function(){

Я использую jquery 1.4. Как ни странно, другая часть jQuery, которую я имею на этой странице, работает, художник просматривает / выбирает меню справа. Но ролловеры с баннерами и изображениями этого не делают.

Вот все скрипты, которые я запускаю:

1: баннер - не работает в IE8

<script type="text/javascript">
  $(function() {
    $('#banner').crossSlide({
      sleep: 5,
      fade: 1
    }, [
      <?php
   $pages = get_posts('numberposts=2000&post_type=artist&post_status=publish');

   $i = 1;
   foreach( $pages as $page ) {
       $content = $page->post_title;
       if( empty($content) ) continue;

       $content = apply_filters('the_content', $content);

       ?>

       { src: '/wp-content/uploads/<?php echo $page->post_name ?>.jpg' },

<?php $i++;

   }    ?>
    ]);
  });

</script>

2 - ролловеры изображений - не работает в IE8

<script type="text/javascript">

$(function(){

    $("ul#artists li").hover(function() { /* On hover */

    var thumbOver = $(this).find("img").attr("src"); /* Find image source */

    /* Swap background */

    $(this).find("a.thumb").css({'background' : 'url(' + thumbOver + ') center bottom no-repeat'}); 
    $(this).find("span").stop().fadeTo('fast', 0 , function() {
        $(this).hide()
    }); 
    } , function() {
        $(this).find("span").stop().fadeTo('fast', 1).show();
    });

});

</script>

3 - выбор художника - работает в IE 8

<script>
    $("#browse-select").change(function() {
    window.location.href = $(this).val();
});
    </script>

Эти скрипты были созданы с помощью ссылок на ранее созданные скрипты, как я уже говорил, я все еще новичок в jQuery. Второй работает в IE8, а первый не работает. Я заметил, что третий, единственный работающий, написан не так, как первые два нерабочих без объявления функции вверху. Может ли это иметь какое-либо отношение к этому?

Любая помощь в решении этой проблемы была бы очень признательна.

Большое спасибо, Wade

1 Ответ

6 голосов
/ 04 мая 2010

Вы не публикуете реальный код JavaScript, но PHP, который вы разместили, вероятно, создает объекты с запятыми:

{foo: 1, bar: 2,}

Internet Explorer не поддерживает это.Вы должны сгенерировать что-то вроде:

{foo: 1, bar: 2}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...