gpt4 book ai didi

javascript - AngularJS anchorScroll 不滚动,ui-router

转载 作者:行者123 更新时间:2023-11-30 12:10:05 28 4
gpt4 key购买 nike

我正在使用 ui-router 并尝试在 Controller 中自动滚动。然而 anchorScroll 似乎什么都不做,我猜它不喜欢 URL 中的两个 #。

例子:

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

变成:

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

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

有什么想法吗?

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 可以解决问题!

关于javascript - AngularJS anchorScroll 不滚动,ui-router,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34042305/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com