ionic2 使用slides制作滑动效果的类型选择栏
类似的效果如下图:
1. 生成一个component
- ionic g component MySlide
2. 在my-slide.html中添加代码:
- <ion-slides class="slide-title" [options]="mySlideOptions">
- <ion-slide *ngFor="let slide of slides; let i = index;">
- <div (click)="onClick(i)">
- <span class="slide-title-unit" [ngClass]="{'slide-title-active': selectedIndex == i}">{{slide}}</span>
- </div>
- </ion-slide>
- </ion-slides>
其中slides是一个数组,存放类型字符串,如上图显示的"推荐", "环球"等
3. 在my-slide.ts中添加代码:
- import {Component, Input, Output, EventEmitter} from '@angular/core';
- @Component({
- selector: 'my-slide',
- templateUrl: 'build/components/my-slide/my-slide.html'
- })
- export class MySlide {
- @Input("slides") slides: string[] = [];
- @Input("pageNumber") pageNumber: number = 5;
- @Output("slideClick") slideClick = new EventEmitter<number>();
- mySlideOptions;
- selectedIndex: number = 0;
- constructor() {
- }
- ngOnInit() {
- this.mySlideOptions = {
- loop: false,
- autoplay: false,
- initialSlide: 0,
- pager: false,
- slidesPerView: this.pageNumber,
- paginationHide: true,
- paginationClickable: true
- };
- }
- onClick(index) {
- this.selectedIndex = index;
- this.slideClick.emit(index);
- }
- }
Input参数slides,my-slide的属性传入,显示类型的字符串数组。
Input参数pageNumber,my-slide的属性传入,表示当前屏幕可以显示的类型数目,默认为5。
Output参数slideClick,当点击某个类型时,将点击的index返回给使用者。
4. my-slide.scss
- $slide-height-small: 40px;
- $slide-height-large: 50px;
- .slide-title {
- width: 100%;
- height: $slide-height-small;
- color: #666666;
- padding: 0;
- }
- .slide-title-unit {
- padding-bottom: 8px;
- font-size: 14px;
- height: $slide-height-small;
- line-height: $slide-height-small;
- }
- .slide-title-active {
- color: map_get($colors, primary);
- border-bottom: 3px solid map_get($colors, primary);
- }
其中slide-title-active表示选中时改变类型文字颜色以及下方显示横线。
5. 使用方法:
- <my-slide (slideClick)="onSlideClick($event)" [slides]="pageSlides" [pageNumber]="7"></my-slide>
最后,不要忘记在@Component中添加directives: [MySlide]
ionic2 使用slides制作滑动效果的类型选择栏的更多相关文章
- Android 滑动效果入门篇(二)—— Gallery
Gallery 是Android官方提供的一个View容器类,继承于AbsSpinner类,用于实现页面滑动效果. 从上面的继承关系可以看出,AbsSpinner类继承自AdapterView,因此我 ...
- 使用jQuery的animate方法制作滑动菜单
周末看Ziv小威的博客<制作滑动条菜单,如何延时处理滑动效果,避免动画卡顿>,参见地址:http://www.cnblogs.com/zivxiaowei/p/3462964.html.是 ...
- Android Scroll分析——滑动效果产生
相对于在Android2.x版本上出现的长按.点击事件的效果,不得不说,滑动操作具有更好的用户体验.因此,从Android 4.X版本开始,出现了更多滑动操作的效果.越来越多第三方应用模仿这样的效果, ...
- Unity3d NGUI的使用(九)(UIScrollView制作滑动列表)
UIScrollView制作滑动列表,可横向,竖直展示一些列表在固定可视范围内 UIScrollVIew只是一个可滑动的UI组件 如果需要制作复杂的可视区域UI需要配合使用UIPanel与UIGrid ...
- Android实现左右滑动效果
本示例演示在Android中实现图片左右滑动效果. 关于滑动效果,在Android中用得比较多,本示例实现的滑动效果是使用ViewFlipper来实现的,当然也可以使用其它的View来实现.接下来 ...
- Android 实现左右滑动效果ViewFlipper终结【转】
本示例演示在Android中实现图片左右滑动效果. 关于滑动效果,在Android中用得比较多,本示例实现的滑动效果是使用ViewFlipper来实现的,当然也可以使用其它的View来实现.接下来 ...
- 利用CSS制作图形效果
前言 关于如何使用CSS来制作图形,比如说圆形,半圆形,三角形等的相关教程还是挺多的,今天我主要想解释一下里面一些demo的实现原理,话不多说,开始吧 以下所有内容只使用一个HTML元素.任何类型 ...
- a 锚点跳转滑动效果
点击a链接时,跳转到相应id的位置处,有一个滑动效果. <a href="#my">我是跳转到div</a><div id="my" ...
- jquery左右滑动效果的实现
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- 人脸验证算法Joint Bayesian详解及实现(Python版)
人脸验证算法Joint Bayesian详解及实现(Python版) Tags: JointBayesian DeepLearning Python 本博客仅为作者记录笔记之用,不免有很多细节不对之处 ...
- 前端面试题1:Object.prototype.toString.call() 、instanceof 以及 Array.isArray()三种方法判别数组的优劣和区别
1. Object.prototype.toString.call() 每一个继承 Object 的对象都有 toString 方法,如果 toString 方法没有重写的话,会返回 [Object ...
- Solaris&&QNX® Neutrino®&&OpenVMS&&FreeBSD&&AIX
原文链接Solaris (读作 /se'laris:/ 或者 /so'le:ris/ 或者 '梭拉瑞斯' )是Sun Microsystems研发的计算机 操作系统.它被认为是UNIX操作系统的衍生版 ...
- angular2的生命周期钩子的使用情况
angular 2 Directive Lifecycleangular2 中组建继承于指令,并扩展了与ui视图相关的属性.angular2 指令的生命周期是用来记录指令从创建,应用及销毁的过程.an ...
- Express框架 --router/app.use
翻看去年自己记录的印象笔记,准备把笔记上的一些内容也同时更新到博客上,方便自己查看. 1.app.use和app.get的区别及解析 app.use(path,callback)中的callback既 ...
- 4396: [Usaco2015 dec]High Card Wins
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 275 Solved: 175[Submit][Status][Discuss] Descriptio ...
- 2.3.3 zerosum 和为零
#include<bits/stdc++.h> using namespace std; ],a; ]={' ','+','-'}; void out() { ;i<a;i++) c ...
- restful api 规范
- 50 道 CSS 基础面试题及答案
1 介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的? 标准盒子模型:宽度=内容的宽度(content)+ border + padding + margin 低版本IE盒子模型:宽 ...
- 第1章 VMware中安装CentOS7
目录 1.1 下载CentOS7安装包 1.2 VMware中新建虚拟机 1.3 安装操作系统 本章讲解在VMware中安装CentOS虚拟机的步骤.使用的VMware Workstation版本为1 ...