Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅在IE11中,由于某些原因,褪色至100%后的不透明度会降至约50%_Javascript_Css_Internet Explorer 11 - Fatal编程技术网

Javascript 仅在IE11中,由于某些原因,褪色至100%后的不透明度会降至约50%

Javascript 仅在IE11中,由于某些原因,褪色至100%后的不透明度会降至约50%,javascript,css,internet-explorer-11,Javascript,Css,Internet Explorer 11,不透明度渐变在除IE11之外的所有浏览器中都能完美工作,我不知道 我甚至不知道如何描述它。只有在同时淡入子元素和父元素后,才会发生这种情况。但在那之后,一切都搞砸了 然而,当我尝试将其复制为一个简单的测试用例时,它在IE11中运行良好- 下面是显示bug的屏幕广播(在小提琴中看不到)—— 以下是粘贴在此处的JSFIDLE: var FADE\u ENTER\u MS=1000; var FADE_LEAVE_MS=1000; 无功负荷=5000; 功能等待(ms、cb){ 设置超时(cb,ms

不透明度渐变在除IE11之外的所有浏览器中都能完美工作,我不知道

我甚至不知道如何描述它。只有在同时淡入子元素和父元素后,才会发生这种情况。但在那之后,一切都搞砸了

然而,当我尝试将其复制为一个简单的测试用例时,它在IE11中运行良好-

下面是显示bug的屏幕广播(在小提琴中看不到)——

以下是粘贴在此处的JSFIDLE:

var FADE\u ENTER\u MS=1000;
var FADE_LEAVE_MS=1000;
无功负荷=5000;
功能等待(ms、cb){
设置超时(cb,ms);
}
函数数据输入(el,父级){
父母、子女(el);
el.classList.add('fade-enter');
window.getComputedStyle(el,null).getPropertyValue('height');//刚刚添加了强制绘制为元素,因此不透明度:0需要注册
等待(淡入淡出,函数(){//等待上一页淡出
el.classList.add('fade-enter-active');
等待(淡入淡出,函数(){
el.classList.remove('fade-enter');
el.classList.remove('fade-enter-active');
});
});
}
函数doLeave(el){
el.classList.add('fade-leave');
getComputedStyle(el,null).getPropertyValue('height');//强制绘制
el.classList.add('fade-leave-active');
等待(淡入淡出,函数(){
//不需要搞乱类列表,因为我正在删除下面一行中的元素
//el.classList.remove('fade-leave');
//el.classList.remove('fade-enter-active');
el.parentNode.removeChild(el);
});
}
window.showPage=函数(pageNum){
变量leavingPageNum=pageNum==1?2:1;
var leavingPage=document.querySelector('.page-'+leavingPageNum);
var container=document.getElementById('page_fader');
var page=document.createElement('div');
setAttribute('class','page-'+pageNum+'content fader');
var load=document.createElement('div');
loading.textContent='loading page'+pageNum+'…';
var content=document.createElement('div');
content.innerHTML='content page'+pageNum+'Show page'+leavingPageNum+'';
杜利夫(留页);
doEnter(页面,容器);
数据输入(加载,第页);
等待(加载,函数(){
杜利夫(装载);
登特(内容、页面);
});
}
#page_fader>div{位置:绝对;宽度:100%;高度:100%;}
.content fader>div{位置:绝对;宽度:100%;高度:100%;背景色:淡蓝色;}
.fade输入{opacity:0;}
.fade-enter.fade-enter-active{不透明度:1;转换:不透明度1000ms;}
.fade离开{不透明度:1;}
.fade-left.fade-left-active{不透明度:0;转换:不透明度1000ms;}

内容页1显示第2页

在调试工具中选择DOM元素应使该元素突出显示。这只是调试器。这很正常。如果将强制绘制行和其余代码放入
设置超时
,会发生什么情况。。。这将产生与原力重画相同的效果,但IE11可能会喜欢这样better@LGSon-没有效果,我无法在测试用例中重现错误:(@ScottMarcus-单击任何其他元素都不会更改任何其他元素的显示属性:(好的,我的意思是,如果你在你的实时站点中更改它,看看它是否有任何不同。在调试工具中选择DOM元素应该会导致元素突出显示。这只是调试器。这是正常的。如果你将强制绘制行和其余代码放入
setTimeout
,会发生什么情况?…它将给出sam。)原力重绘时的e效应,但IE11可能会喜欢better@LGSon-没有效果,我无法在测试用例中重现错误:(@ScottMarcus-单击任何其他元素都不会更改任何其他元素的显示属性。:(我的意思是,如果您在live站点中更改它,看看它是否有任何不同。