亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

基于值的角度開關不透明度

基于值的角度開關不透明度

慕絲7291255 2021-11-12 14:16:37
所以我有這兩個標志:<div class="flag flag-srb" id="2" (click)="changeLanguage(2)">    <img src="assets/flags/srb.png" alt="srb" height="64" width="64"></div><div class="flag flag-eng" id="1" (click)="changeLanguage(1)">    <img src="assets/flags/eng.png" alt="eng" height="64" width="64"></div>默認情況下,這兩個的不透明度都是 0.5。css:.flag {    display: inline;    padding-right: 10px;    opacity: 0.5;}現在我想根據用戶選擇的不透明度將不透明度更改為 1。然后當他切換到不同的標志(點擊不同的標志)時,他選擇的不透明度變為 1,而另一個恢復為 0.5。當他點擊旗幟時,他激活了這個功能: changeLanguage(id){    this.sightService.changeLanguageId(id);    this.sightService.getSights().subscribe(sights => {      this.sights = sights;    });    console.log("this.sights is now: ", this.sights);    console.log("id is",id);    var testNula = document.getElementById(id); //GET PICTURE WITH ID    var testDva = document.getElementById(id).id; //GET PICTURE ID, THE NUMBER    if(testDva == this.sights[0].pin_lang_id) { //WHAT I TRIED      console.log("THIS ONE IS SELECTED", testDva);      testNula.style.opacity = "1";    } else if (testDva != this.sights[0].pin_lang_id) {      testNula.style.opacity = "0.5";    }  }注意this.sights[0].pin_lang_id是加載了一個服務。所以當他點擊旗幟時會發生變化。我想用這個來改變不透明度。另外,當頁面加載時this.sights[0].pin_lang_id是 2,所以第一個標志應該是不透明度 1,另一個是 0.5。當他點擊英國國旗時,第一個旗幟應該是0.5,而英國是1。
查看完整描述

2 回答

?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

在 .ts 中創建一個新變量selectedLang ,changeLanguageId根據索引更新變量


 changeLanguage(id){

    this.sightService.changeLanguageId(id);

    this.sightService.getSights().subscribe(sights => {

      this.sights = sights;

    });

    this.selectedLang = id;

  }

<div class="flag flag-srb" id="2" [style.opacity]="{{this.selectedLang === 2 ? 1 : 0.5}}" (click)="changeLanguage(2)">

    <img src="assets/flags/srb.png" alt="srb" height="64" width="64">

</div>

<div class="flag flag-eng" id="1" [style.opacity]="{{this.selectedLang === 1 ? 1 : 0.5}}" (click)="changeLanguage(1)">

    <img src="assets/flags/eng.png" alt="eng" height="64" width="64">

</div>


查看完整回答
反對 回復 2021-11-12
?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

您可以將變量設置為選定的標志索引


var selectedflag 

指數;


然后根據服務為您提供索引設置標志值


this.selectflagindex =this.sights[0].pin_lang_id;

然后在模板中比較選定的索引并將不透明度設置為 1 但默認情況下將所有設置為 0.5


你 div 是這樣的


<div [ngStyle]="{'opacity':check selected(id)}" </div>



checkselected(id){ return this.selectedFlag == id ? '1' :'0.5'}

通過發送適當的 id,將為 div 設置 opacity 的值。


這將適用于任何數量的語言,不僅適用于兩個


查看完整回答
反對 回復 2021-11-12
  • 2 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號