我在这里开展网站工作:mfm.treethink.net 所有的jquery在Firefox,Chrome和Safari中运行良好但在IE8上它给我带来了错误,顶部的横幅不起作用(使用了crossSlide jQuery插件)以及图像翻转不适用于颜色变化
IE8告诉我错误位于源代码的第53,134和149行,所有这些行都是声明jquery函数的地方。
$(document).ready(function(){
我正在运行jquery 1.4。奇怪的是,我在该页面上的另一个jQuery工作,右边是艺术家浏览/选择菜单。但横幅和图像翻转不会。
以下是我正在运行的所有脚本:
<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>
<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>
<script>
$("#browse-select").change(function() {
window.location.href = $(this).val();
});
</script>
这些脚本是通过引用以前制作的脚本完成的,就像我说我还是jQuery的新手。第二个在IE8中工作,第一个在没有。我注意到第三个,唯一一个工作,与前两个没有功能声明的前工作不同。这可能与它有关吗?
任何帮助解决这个问题的人都会非常感激。
非常感谢, 涉
答案 0 :(得分:6)
您不发布实际的JavaScript代码,但您发布的PHP可能会创建带尾随逗号的对象:
{foo: 1, bar: 2,}
Internet Explorer不支持。你必须生成类似的东西:
{foo: 1, bar: 2}