Jquery代码在Chrome中运行,但在Firefox中运行

时间:2010-01-05 00:55:20

标签: jquery firefox google-chrome animation

我有这段代码在点击时会显示几个div,然后在点击另一个链接后隐藏它们。我试图让它在Firefox中显示,它可能不是js中的问题,但非常感谢所有帮助。

<script type="text/javascript">
    $(document).ready(function(){
            $('.fadein').click(function(){
                    // Make the id overview show
                    $('#header-contact').hide('slow'); 
                    $('#header-portfolio').show('slow');
                    $('#content-portfolio').show('slow');
                    // override default a behavior
                    return false;
            });
    });
</script>
<script type="text/javascript">
    $(document).ready(function(){
            $('.fadein2').click(function(){
                    // Make the id overview show
                    $('#header-portfolio').hide('slow');                       
                    $('#header-contact').show('slow');
                    $('#content-portfolio').hide('slow');
                    // override default a behavior
                    return false;
            });
    });

</script>
<script type="text/javascript">
    $(document).ready(function(){
            $('.fadein3').click(function(){
                    // Make the id overview show
                    $('#header-portfolio').hide('slow');                       
                    $('#header-contact').hide('slow');
                    $('#content-portfolio').hide('slow');
                    // override default a behavior
                    return false;
            });
    });

3 个答案:

答案 0 :(得分:4)

尝试将event传递给每个click处理程序,然后在return false之前,在传入的preventDefault()对象上调用event

示例:

$(document).ready(function(){
        $('.fadeinX').click(function(e){
                // Make the id overview show
                $('#header-portfolio').hide('slow');                       
                $('#header-contact').hide('slow');
                $('#content-portfolio').hide('slow');
                // override default a behavior
                e.preventDefault();
                return false;
        });
});

答案 1 :(得分:2)

使用Web Developer by Chris Pederic清除缓存。我与Firefox有完全相同的问题,并使用Web开发人员清除缓存解决了它。很简单,但你永远不知道,我一直在拔头发。

答案 2 :(得分:1)

如果return false

,您实际上根本不需要preventDefault();
 $(document).ready(function(){
   $('.fadein').click(function(e){
     // Make the id overview show
     $('#header-portfolio').hide('slow');                       
     $('#header-contact').hide('slow');
     $('#content-portfolio').hide('slow');
     // override default a behavior
     e.preventDefault();
   });
 });

同样将你的JS移动到它自己的文件中,只有一个$(document).ready(function() {...})函数,你可以将所有三个事件放在那里。