jQuery在IE8中不起作用?

时间:2010-05-04 08:11:49

标签: jquery internet-explorer function jquery-plugins internet-explorer-8

我在这里开展网站工作: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中工作,第一个在没有。我注意到第三个,唯一一个工作,与前两个没有功能声明的前工作不同。这可能与它有关吗?

任何帮助解决这个问题的人都会非常感激。

非常感谢, 涉

1 个答案:

答案 0 :(得分:6)

您不发布实际的JavaScript代码,但您发布的PHP可能会创建带尾随逗号的对象:

{foo: 1, bar: 2,}

Internet Explorer不支持。你必须生成类似的东西:

{foo: 1, bar: 2}