Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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 AngularJS主播Croll不滚动,用户界面路由器_Javascript_Angularjs_Anchor - Fatal编程技术网

Javascript AngularJS主播Croll不滚动,用户界面路由器

Javascript AngularJS主播Croll不滚动,用户界面路由器,javascript,angularjs,anchor,Javascript,Angularjs,Anchor,我正在使用ui路由器,并尝试在控制器中自动滚动。 然而,主播克罗尔似乎什么也没做,我的猜测是,它不喜欢URL中的两个 例如: index.php#/initiative/1/commentscroll/4 变成: index.php#/initiative/1/commentscroll/4#comment-id-4 但是滚动没有完成(是的,锚点确实存在;) 有什么想法吗 controllersModule.controller('InitiativeController', ['$http',

我正在使用ui路由器,并尝试在控制器中自动滚动。 然而,主播克罗尔似乎什么也没做,我的猜测是,它不喜欢URL中的两个

例如:

index.php#/initiative/1/commentscroll/4

变成:

index.php#/initiative/1/commentscroll/4#comment-id-4

但是滚动没有完成(是的,锚点确实存在;)

有什么想法吗

controllersModule.controller('InitiativeController', ['$http','$timeout','$location','$state','services','$stateParams','$anchorScroll', function($http,$timeout,$location,$state,services,$stateParams,$anchorScroll){
var pk = this;
pk.initiative={};

if($state.current.url.indexOf("/commentscroll/")!=1){
    $timeout(function() {
        $location.hash('comment-id-'+$stateParams.commentId);
        $anchorScroll();
    });
}


services.get($stateParams.initiativeId,'initiative','').then(function(data){
    pk.initiative=data;

});

function fillScrollId(element,index,array){
    if(element.initiative_comment_id===$stateParams.commentId){
        element.scrollToMe="yes";
    }
    if(element.comments.length>0){
        element.comments.forEach(fillScrollId);
    }
}
}]);

我修好了,这是个“时间”问题

$location.hash('comment-id-'+$stateParams.commentId);
$timeout(function(){$anchorScroll()}, 800);
$timeout成功了

不含$anchorScroll的备选(动画)解决方案

$timeout(function () {
    if ($location.hash()) {
        var anchor = 'a[name="' + $location.hash() + '"]';
        if ($(anchor)) {
            $('html,body').animate({ scrollTop: ($(anchor).offset().top) + 0 }, 'slow');
        }
    }
});