3

나는 여기 사이트에서 일하고있다 : mfm.treethink.net jquery는 Firefox, Chrome 및 Safari에서 모두 잘 동작하지만 IE8에서는 오류가 발생하고 상단의 배너가 작동하지 않는다 (crossSlide jQuery 플러그인 사용) 및 색상 변경시 이미지 롤오버가 작동하지 않습니다.jQuery가 IE8에서 작동하지 않습니까?

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 - 예술가 선택 -

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

이 스크립트는 이전에 작성한 스크립트를 참조하여 수행되었습니다. 아직 jQuery에 익숙하지 않다고 말한 것과 같습니다. 두 번째는 IE8에서 작동하고 첫 번째 것은 IE8에서 작동하지 않습니다. 나는 작동하는 유일한 세 번째 제품이 맨 위에 기능 선언이없는 처음 두 개의 비 작동 제품과 다르게 쓰여 있음을 알아 챘다. 이것과 관련이 있을까요?

이 문제를 파악하는 데 도움이 될 것입니다.

고마워, 웨이드

+0

에가 발생할 정확한 오류 및 라인을 제시해주십시오 첫 번째 힌트로 –

+0

을 : 당신은 뭔가를 생성해야합니다 $ (document) .ready (function() {})의 바로 가기이므로 페이지가로드 될 때 함수의 내용을 평가해야합니다. 세 번째 스크립트는 (드롭 다운?) 선택 상자에 대한 이벤트 처리기이며 값 변경시 활성화됩니다. – Paul

+0

메시지 : 'plan [...]. src'가 null이거나 객체가 아닙니다. 줄 : 59 문자 : 4 코드 : 0 URI : http://mfm.treethink.net/wp-content/themes/ mfm/jquery.cross-slide.js img.src = plan [i] .src; 라인이 –

답변

6

당신은 실제 자바 스크립트 코드를하지만 당신은 아마 뒤에 쉼표로 개체를 만들어 게시 한 PHP 게시하지 않습니다

{foo: 1, bar: 2,} 

Internet Explorer에서 지원하지 않습니다 그. . (} {() 함수) $;

{foo: 1, bar: 2} 
+1

실제로 쉼표가 사용되었지만 내가 맞다고 생각합니다. JSLint가 불평하지 않도록 코드를 변경하면 놀라 울 정도로 많은 브라우저 단점이 수정됩니다. – Piskvor

+0

솔직히 말해서 미리보기 이미지 롤오버가 제대로 작동하지 않기 때문에 이것이 문제가되는지 잘 모르겠습니다. 나는 같은 롤오버 코드가 http://www.treethink.com에서 진행되고 있기 때문에 IE8에서 잘 작동하지만 http : //mfm.treethink에서는 작동하지 않기 때문에 이해할 수 없습니다.net –

+0

사실,이게 맞을 수도 있습니다. 배너와 롤오버가 작동하는 코드를 제거했습니다. 이것은 그럴 수 있습니다. 나는 그 PHP 코드를 지금 변경하고있다. –

관련 문제