2016-06-12 8 views
0

Ich habe den folgenden ionischen HTML-Code.Kann die Hintergrundfarbe des Ionion-View-Bars nicht geändert werden?

<ion-nav-bar class="backarrow-bar" style="background-color:rgba(99,99,99,.5)"> 
    <ion-nav-back-button class="button-clear"> 
     <i class="ion-chevron-left" style="color:#ffffff;text-shadow: 2px 4px 3px rgba(0,0,0,0.3);"></i> 
    </ion-nav-back-button> 
</ion-nav-bar> 

Und der folgende Code verwendet wird, um die Hintergrundfarbe des ion-nav-bar zu ändern. Die Hintergrundfarbe kann jedoch nicht geändert werden. Ich habe sogar einen Inline-Stil für die Hintergrundfarbe zum Testen verwendet und es funktioniert immer noch nicht?

.directive('headerShrink', function ($document) { 
    return { 
     restrict: 'A', 
     link: function ($scope, $element, $attr) { 
      var header = $document[0].body.querySelector('.backarrow-bar'); 
      var headerHeight = 44; 
      $element.bind('scroll', function (e) { 
       var scrollTop = e.target.scrollTop; 
       var alpha = Math.min(scrollTop/44, 1); 
       // Not working 
       header.style.backgroundColor = 'rgba(99,99,99,' + alpha + ')'; 
       // Not working either 
       // ionic.requestAnimationFrame(function() { 
       // header.style.backgroundColor = 'rgba(0,0,0,' + alpha + ')'; 
       // }); 
      }); 
     } 
    } 
}) 

Antwort

0

Sie können den Wert alpha für die Hintergrundfarbe nicht direkt über Javascript zuweisen. Sie können jedoch die in dieser SO-Antwort erwähnte Lösung verwenden: https://stackoverflow.com/a/8179307/3878940

+0

In der SO-Antwort verwendet es auch this.style.backgroundColor = "rgba (" + [match [1], match [2], match [3 ], a] .join (',') + ")"; um die backgroundColor auf dieselbe Weise zuzuweisen wie ich? – ca9163d9

+0

Sind Sie sicher, dass der Wert von Alpha in Ihrem Fall eine Floating-Zahl <1 ist? Und haben Sie überprüft, indem Sie die vorgeschlagenen Änderungen vornehmen –

+0

Ja, das Debugging in Chrome zeigt seine weniger oder gleich 1. – ca9163d9

Verwandte Themen