2014-01-09 83 views

回答

0

我不确定我是否理解你的问题100%。你不能只覆盖一个div(可能是灰色 - 显示它是禁用的),并显示加载栏/ gif?

叠加一个div将是相当简单的,你可以找到很多资源,比如, How to overlay one div over another div overlay a div over another one with css

+0

我可以能够显示角加载栏,直到它得到一个来自服务器db的响应。现在我想阻止HTML页面的UI,直到它从服务器加载数据。 – Seetha

18

我是angular-loading-bar的巨大粉丝。

默认没有叠加,但是你可以很容易地用这个CSS来调整加载条;

#loading-bar { 
    pointer-events: all; 
    z-index: 99999; 
    border: none; 
    margin: 0px; 
    padding: 0px; 
    width: 100%; 
    height: 100%; 
    top: 0px; 
    left: 0px; 
    cursor: wait; 
    position: fixed; 
    background-color: rgba(0, 0, 0, 0.6); 
} 

Here is a demo

+0

超级干净。好的解决方案 –

+0

太棒了,我能够摆脱旋钮thnx光标:等待CSS! – RandomUs1r

+0

非常感谢!我用你的解决方案,但与ngProgress BAr,它像一个魅力。 – tarekahf

0

这是我的解决方案,基于@andrew上面的解决方案并使用ngProgress Bar component

CSS:

#ngProgress-container.block-editing { 
    pointer-events: all; 
    z-index: 99999; 
    border: none; 
    /* margin: 0px; */ 
    padding: 0px; 
    width: 100%; 
    height: 100%; 
    top: 0px; 
    left: 0px; 
    cursor: wait; 
    position: fixed; 
    background-color: rgba(0, 0, 0, 0.33); 
    margin-top:10px; 
    #ngProgress { 
     margin-top:-9px; 
     width:5px; /* Force display progress as early as possible */ 
     opacity:1; /* Force display progress as early as possible */ 
    } 
} 

JS - 在开始的时候:

$scope.progressbar = ngProgressFactory.createInstance(); 
//To force display of progress bar as early as possible 
$scope.progressbar.setParent(document.getElementsByTagName("BODY")[0]); 
$scope.progressbar.set(1); 
$scope.progressbar.getDomElement().addClass('block-editing'); 
$scope.stopProgressbar = $timeout(function(){ 
    $scope.progressbar.setParent(document.getElementsByTagName("BODY")[0]); 
},10); 
$timeout(function(){ 
    $scope.progressbar.start(); 
},100); 

JS - 到底:

//Stop progress bar 
$interval.cancel($scope.stopProgressbar); 
$timeout(function(){ 
    //JIRA: NE-2984 - un-block editing when page loading is done 
    $($scope.progressbar.getDomElement()).fadeOut(2000, function() { 
     $($scope.progressbar.getDomElement()).removeClass('block-editing'); 
    }); 
    $scope.progressbar.complete(); 
}, 3000); 
相关问题