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阻止css?_Javascript_Css_Image_Xmlhttprequest_Blocking - Fatal编程技术网

Javascript阻止css?

Javascript阻止css?,javascript,css,image,xmlhttprequest,blocking,Javascript,Css,Image,Xmlhttprequest,Blocking,我正在建一个灯箱照片库。当第一个图像加载时,css转换工作。加载后的每个图像都不会加载。你知道为什么吗?第一次加载后的照片,但没有过渡 Image.prototype.load=函数(url){ var thisImg=此; var xmlHTTP=new XMLHttpRequest(); open('GET',url,true); xmlHTTP.responseType='arraybuffer'; xmlHTTP.onload=函数(e){ var blob=新blob([this.r

我正在建一个灯箱照片库。当第一个图像加载时,css转换工作。加载后的每个图像都不会加载。你知道为什么吗?第一次加载后的照片,但没有过渡

Image.prototype.load=函数(url){
var thisImg=此;
var xmlHTTP=new XMLHttpRequest();
open('GET',url,true);
xmlHTTP.responseType='arraybuffer';
xmlHTTP.onload=函数(e){
var blob=新blob([this.response]);
thisImg.src=window.URL.createObjectURL(blob);
};
xmlHTTP.onprogress=函数(e){
thisImg.completedPercentage=parseInt((e.loaded/e.total)*100);
};
xmlHTTP.onloadstart=函数(){
thisImg.completedPercentage=0;
};
xmlHTTP.onloadend=函数(){
thisImg.completedPercentage=0;
画廊。附赠儿童(当前图片);
gallery.className=“画廊切换”;
};
xmlHTTP.send();
};
.gallery{
显示:绝对;
位置:固定;
保证金:自动;
可见性:隐藏;
不透明度:0;
-moz过渡:不透明度0.5s,可见性0.5s,缓进缓出;
-webkit过渡:不透明度0.5s,可见性0.5s易入易出;
-ms转换:不透明度0.5s,可见度0.5s缓进缓出;
过渡:不透明度0.5s,可见度0.5s缓进缓出;
背景:rgba(0,0,0,0.0);
宽度:96%;
身高:96%;
利润率最高:2%;
左缘:2%;
溢出:隐藏;
z指数:1001;
}
.gallery.toggle{
能见度:可见;
不透明度:1;

}
您的CSS在页面加载时执行。动态添加或删除内容时,不会再次加载CSS。加载图像后,您可能必须使用JS创建转换

也许这有助于:


您正在使用类
库切换添加图像,这意味着转换将永远不会发生;它将在其最终状态下加载。您需要使用
gallery
加载图像,允许DOM渲染,然后添加
toggle
类。您可以通过以下方式使其正常工作:

xmlHTTP.onloadend = function() {
    thisImg.completedPercentage = 0;
    gallery.appendChild(currentImage);
    gallery.className = "gallery";

    setTimeout(function () {
        gallery.className = 'gallery toggle';
    }, 20);
};
你可以参考