adresindeki etkin (açık) akordeonun üstüne ilerleyin Bir panel açıldığında, sadece tıklanmış olanın ".panel-title" kısmına geri dönmesini sağlamalıyım. Ben yapmak bir yönergeyi oluşturabilir biliyorum bu tür (this site bu var) olarak: AngularJS/ui-bootstrap akordeon -
.directive('scrollTop', scrollTop);
function scrollTop() {
return {
restrict: 'A',
link: link
};
}
function link($scope, element) {
$scope.collapsing = false;
$scope.$watch(function() {
return $(element).find('.panel-collapse').hasClass('collapsing');
}, function(status) {
if ($scope.collapsing && !status) {
if ($(element).hasClass('panel-open')) {
$('html,body').animate({
scrollTop: $(element).offset().top - 20
}, 500);
}
}
$scope.collapsing = status;
});
}
Ve
HTML kullandığım gerekiyordu:<div uib-accordion-group is-open="status.openPanel" scroll-top></div>
Ama bu görünmüyor iş. İkinci panele tıkladığınızda, birinci ve ikinci paneli açar ve üçüncü kutuyu açarken bile yukarı kaydırmaz.
Sadece tıklatılan panelin ".panel-title" bölümüne geri gitmek için ihtiyacım var. Bence panel içeriği oldukça uzun sürebilir ve çoğu insan bir panel açıldığında bilginin en üstüne gitmek istediğinde bunu yapmak çok zor gibi gözüküyor.
Burada başka yayınlar gördüm ama AngularJS ile uğraşmıyorlar. eğer isterseniz oynamak için Here is a Plunker - Ben
DÜZENLEME "ui-önyükleme-tpls-2.1.3" kullanıyorum.
Her türlü yardım büyük beğeni topluyor.
Eğer 'shown' ve' hidden' olaylar yerine, Gözetmenin kullanmak için dinleme düşündünüz mü? Gözlemcinin çok erken ateş ettiğinden şüpheleniyorum. İşlevi üzerinde bir kesme noktası ayarlayın (veya oraya bir uyarı veya konsol oturumu açın veya önyüklemeyi hızlandırmak için önyükleme animasyonu hızını çok daha yavaş bir şekilde düzenleyin). Bulduğun şeyi rapor et. – adamdport