【发布时间】:2014-11-02 21:29:00
【问题描述】:
我正在尝试在 jquery 中创建一个 if 语句来检查不透明度是否为 .3,但它没有 工作。
if ($(this).css('opacity')==.3) {$(this).fadeTo(500,1);}
我是否错误地格式化了不透明度?我也尝试了0.3 无济于事。
背景:
我正在使用淡入淡出效果,当您滚动经过对象时它会淡入,而当您向上滚动时它会淡出。
myfunkyside 在这里向我展示了如何做到这一点:Fade In on Scroll Down, Fade Out on Scroll Up - based on element position in window
myfunkyside 的原创 jsfiddle:http://jsfiddle.net/b7qnrsrz/1/
在这种情况下,淡入淡出从 0 不透明度变为 1 并返回。我想从 .3 到 1 再返回。
我尝试替换
if (objectBottom < windowBottom) {
if ($(this).css('opacity')==0) {$(this).fadeTo(500,1);}
} else { //object goes out of view (scrolling up)
if ($(this).css('opacity')==1) {$(this).fadeTo(500,0);}
}
与
if (objectBottom < windowBottom) {
if ($(this).css('opacity')==.3) {$(this).fadeTo(500,1);}
} else { //object goes out of view (scrolling up)
if ($(this).css('opacity')==1) {$(this).fadeTo(500,.3);}
}
但它不起作用。这是我对 jsfiddle 的尝试:http://jsfiddle.net/b7qnrsrz/3/
感谢您查看此内容!
【问题讨论】:
-
console.log($(this).css('opacity'))?这可能是因为浮点数应该仔细比较 -
@zerkms
0.300000011920929 -
我很确定要编辑 CSS 值,你必须使用
$(selector).css('prop', 'value')(如果是数字,则不带引号) -
试试
toFixed。 IE。$(this).css("opacity").toFixed(2);舍入到小数点后 2 位 -
@Firedrake969 我认为他不是在编辑,而是在检查。问题似乎不完全是 3。ArtOfCode 的解决方案可能会解决它。
标签: javascript jquery css