2017-01-09 67 views
1

当用户按下按钮时,他会被重定向。按钮如下:

$scope.goToArgumentation = function(argumentation_id,startingposition){ 
    startingposition = startingposition || 1; 

    $location.path("/" + argumentation_id).search({"sp": startingposition}); 
}; 

在新页面上发生动画。在该动画之后,动画的内容消失并在不久之后重新出现。短暂闪烁约0.5 - 1秒)这发生在Firefox,但不是在Chrome中。

然而,闪烁不会出现,当按钮看起来是这样的:

$scope.goToArgumentation = function(argumentation_id,startingposition){ 
    startingposition = startingposition || 1; 

    window.location.href = 'http://localhost:3000/argumentation#!/' + argumentation_id + '?sp=' + startingposition; 
}; 

我想弄清楚,为什么发生这种情况。我最初的猜测是,$location.path不仅仅是重定向。但是,我没有找到关于闪烁的更多信息。我的第二个猜测是,这个问题可能与webkit有关。但是由于闪烁不会发生,所以当我使用window.location.href时,我认为在我的代码中必定存在一些错误。

有谁知道,为什么会发生这种情况?我怎么能阻止它?

股利,是可以获得动画:

<div class="move" ng-class="{'static': pos == 1, 'move-to-right': pos == 2}"> 
</div> 

动画的CSS:

.static{ 

} 

.move-to-right{ 
    transform: translate(200%, 0%); 
} 

.move { 
    transition: all 1.5s ease-in-out; 
} 

这里是路线:

.when("/:id",{ 
      controller: "MovingBlockController", 
      templateUrl: "argumentation/show.html" 
     }) 

回答

0

添加此的CSS类似乎解决了这个问题:

-webkit-backface-visibility: hidden; 

但我还是不明白,为什么没有闪烁,使用时window.location.href = 'http://localhost:3000/argumentation#!/' + argumentation_id + '?sp=' + startingposition;