首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery淡入淡出问题

问jquery淡入淡出问题
EN

Stack Overflow用户
提问于 2010-06-05 02:43:51
回答 3查看 313关注 0票数 1

此脚本设置正文和div的随机颜色,并在它们之间淡入淡出:

代码语言:javascript
复制
function randcolor(){
 return ('#' + (~~(Math.random() * 16777215)).toString(16))
}

var $body = $("body"),
    $div = $("<div style='display:none; position: absolute; top:0; right:0; bottom:0; right:0;'></div>")

function havefun(){
    $body.css("background", randcolor()).append($div);
    $div.fadeIn(1000);

    setTimeout(function(){
        $div.fadeOut(500, function(){ $div.remove().css("background", randcolor()).hide(); havefun(); })
    }, 1500);
}

havefun()

但是没有褪色,我的颜色变化会立即发生。有人能帮帮忙吗?here你能看到working example。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-05 02:55:43

如果你只是想在div和背景之间淡入淡出,那么http://jsfiddle.net/K2BF3/呢?我弄乱了颜色改变代码和超时,但淡出似乎起作用了……

更新:我不知道我自己在做什么(为什么要做这些递归-如果有setInterval就调用?),但http://jsfiddle.net/K2BF3/3/显示的淡入淡出效果更好。

更新:我知道使用jsfiddle是不正确的,但是http://jsfiddle.net/KLN24/终于实现了平稳过渡。

票数 1
EN

Stack Overflow用户

发布于 2010-06-05 02:45:31

票数 0
EN

Stack Overflow用户

发布于 2010-06-05 02:50:12

在没有插件的情况下,您不能“原生”地为颜色淡入淡出设置动画效果的原因是,JQuery不能递增地调整元素上目标css属性的值。任何以十六进制或其他非整数/十进制编码为单位的CSS属性都会出现完全相同的问题。JQuery只是递减/递增值,以实现淡入淡出效果和动画。按照Sarfraz的建议使用JQuery颜色plugIn。

编辑:

你仍然错过了point...the淡入淡出效果的前提是能够调整某些CSS属性。更改颜色很可能与尝试更改不透明度和其他CSS属性的效果相冲突。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2976851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档