1.12 ionic3入门——可以滑动的按钮组

我要做一组按钮,他们并排在一列,一次只显示几个,我可以通过左右滑动来选择当前能够看到的按钮。说这好想好难~ 我直接上动图吧


未命名 2.gif

就是这么一个功能,下面直接上代码
(1)html

<ion-header>

  <ion-navbar>
    <ion-title>任务</ion-title>
  </ion-navbar>

</ion-header>


<ion-content >
    <div class="group">

        <!--外层的ion-scroll 100%   里面元素的宽度要大于100%-->
          <ion-scroll scrollX="true">  
  
              <ul class="plist clearfix" [ngStyle]="{'width':bestListWidth}" style="height:40px;margin-top:0px">
                  <li *ngFor="let item of groupList;let i = index" style="height:40px;margin-top:0px">     
                    <div id={{item}} (click)="checked_group(i)" style="height: 40px;width: 100%;line-height: 40px;margin-top:0px">{{item}}</div>
                  </li>
                </ul>
          </ion-scroll>
  
      </div>
</ion-content>

(2) css

.group {
    ion-scroll{
        width: 100%;
        height: 40px;
        overflow-x: auto;
    }
    .plist{
        width:auto;
    }
    text-align: center;
    background-color: rgb(233, 240, 240);
}
.plist{
    list-style: none;
    padding:0rem;
    
    li{
        width: 6.6rem;
        height: 40px;
        float: left;
        margin-right: .6rem;

    }
}

(3) ts

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';

/**
 * Generated class for the MissionPage page.
 *
 * See https://ionicframework.com/docs/components/#navigation for more info on
 * Ionic pages and navigation.
 */

@IonicPage()
@Component({
  selector: 'page-mission',
  templateUrl: 'mission.html',
})
export class MissionPage {
  public groupList = [];
  public bestListWidth=''; /*精品推荐数据长度*/

  constructor(public navCtrl: NavController, public navParams: NavParams) {
  }

  ionViewDidLoad() {
    
    this.groupList = ["教师组","第一组","第二组","第三组","第四组","第五组","第六组","第七组","第八组"];
    this.bestListWidth=this.groupList.length*92+'px'; 
    

  }
  init_group(){
    var group_div = document.getElementById(this.groupList[0]);
    group_div.style.backgroundColor="#488aff";
    group_div.style.color="white";
    group_div.style.fontSize="16px";
  }
  checked_group(i){
    this.clear_color();
    var group_div = document.getElementById(this.groupList[i]);
    group_div.style.backgroundColor="#488aff";
    group_div.style.color="white";
    group_div.style.fontSize="16px";

  }
  //让所有组别背景色都变为默认色
  clear_color(){
    for(let i =0;i<this.groupList.length;i++){
      var group_div = document.getElementById(this.groupList[i]);
      group_div.style.backgroundColor="rgb(233, 240, 240)";
      group_div.style.color="black";
      group_div.style.fontSize="14px";
    }
  }
  ionViewWillEnter(){
    this.init_group();
  }

}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,584评论 25 709
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,911评论 1 45
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,031评论 3 119
  • 前段时间,一段视频火遍微信朋友圈,说的是一女子在商场偶遇前夫,期间前夫说你现在穿的都是我给你买的,女子当即脱下所有...
    山水墨林阅读 211评论 0 0
  • 晚上看书,发现自己静不下心来,看着看着就走神,要么看时间,要么看微信,强制自己看了将近一小时书。 上午和颜春晖、吴...
    黄雨田阅读 709评论 0 0