哪们大神帮我看看这个jquery代码问题出在哪

页面滚动只执行第一个条件,换另一个条件要半天才会反应。然后背景颜色也不会改变。哪位大神可以帮我看一下了。谢谢了<scriptsrc="http://ajax.google... 页面滚动只执行第一个条件,换另一个条件要半天才会反应。然后背景颜色也不会改变。哪位大神可以帮我看一下了。谢谢了
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script><script type="text/javascript" src="jquery.animate-colors.js"></script>
<script>
$(function() { var winWidth=$(window).width(); $(window).scroll(function(){ var top = $(document).scrollTop(); if (window.XMLHttpRequest) { //Mozilla, Safari,IE7 if (!window.ActiveXObject) { // Mozilla,Safari, } else {} } else { $(".abc").css("top",top); } if(top >= 300) { $(".abc").animate({ backgroundColor:'#ccc', left:'100px', width:'400px' },"slow"); } else { $(".abc").animate({ left:'10px', width:'800px' },"slow") }; });});
</script>
展开
 我来答
lv_daven
2014-01-16
知道答主
回答量:41
采纳率:0%
帮助的人:18.7万
展开全部
你的代码有很多问题,就你提出的问题
第一半天才反应:是因为浏览器对滚动处理的方式不同,当你在连续滚动之后,这中间会有一个时间间隔,当过了这个时间间隔的时候浏览器才会处理脚本的语句,还有就是和浏览器的性能有管
第二背景没效果:是因为你都没有指定它变成什么背景,当然没反应
maxzhang123
2014-01-15 · TA获得超过1424个赞
知道小有建树答主
回答量:181
采纳率:0%
帮助的人:219万
展开全部

你的代码逻辑有明显的问题,scroll事件会多次触发执行回调函数。


这样就导致当滚动大于/小于300时,多次触发动画函数。


你应该思考下,增加一个状态控制器

$(function() {
    var winWidth = $(window).width();
    var status = 0; // 控制状态
    $(window).scroll(function() {
        var top = $(document).scrollTop();
        if (window.XMLHttpRequest) { //Mozilla, Safari,IE7
            if (!window.ActiveXObject) { // Mozilla,Safari,
            } else {

            }
        } else {
            $(".abc").css("top", top);
        }
        if (status === 0 && top >= 300) { // scroll
            status = 1; // 状态变更
            
            $(".abc").animate({
                backgroundColor: '#ccc', left: '100px', width: '400px'
            }, "slow");
        } else if (status !== 0 && top < 300) {
            status = 0; // 状态变更
            
            $(".abc").animate({
                left: '10px', width: '800px'
            }, "slow");
        }
    });
});
追问
我明明有导入背景颜色动画插件,为什么背景颜色改变语句必须注释掉代码才能正常运行?
追答
这个我就不知道了。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式