Ionic - JavaScript 幻灯片框
幻灯片框包含可通过滑动内容屏幕进行更改的页面。
使用幻灯片框
幻灯片框的使用很简单。您只需添加 ion-slide-box 作为容器,并在该容器内添加带有框类的 ion-slide。我们将为我们的框添加高度和边框,以提高可见性。
HTML 代码
<ion-slide-box> <ion-slide> <div class = "box box1"> <h1>Box 1</h1> </div> </ion-slide> <ion-slide> <div class = "box box2"> <h1>Box 2</h1> </div> </ion-slide> <ion-slide> <div class = "box box3"> <h1>Box 3</h1> </div> </ion-slide> </ion-slide-box> .box1, box2, box3 { height: 300px; border: 2px solid blue; }
输出将如以下屏幕截图所示 −
我们可以通过将内容拖到右侧来更改框。我们也可以向左拖动以显示前一个框。
下表列出了一些可用于控制滑动框行为的属性。
委托方法
属性 | 类型 | 详细信息 |
---|---|---|
does-continue | Boolean | 当第一个或最后一个框是时,滑动框是否应该循环已达到。 |
auto-play | Boolean | 滑动框是否应自动滑动。 |
slide-interval | number | 自动滑动更改之间的时间值(以毫秒为单位)。默认值为 4000。 |
show-pager | Boolean | 寻呼机是否可见。 |
pager-click | expression | 当寻呼机被点击时调用(如果寻呼机可见)。$index 用于匹配不同的幻灯片。 |
on-slide-changed | expression | 当幻灯片更改时调用。 $index用于匹配不同的幻灯片。 |
active-slide | expression | 用作绑定当前幻灯片索引的模型。 |
delegate-handle | string | 用于$ionicSlideBoxDelegate的幻灯片框识别。 |
幻灯片框委托
$ionicSlideBoxDelegate是用于控制所有幻灯片框的服务。我们需要将其注入到控制器中。
控制器代码
.controller('MyCtrl', function($scope, $ionicSlideBoxDelegate) { $scope.nextSlide = function() { $ionicSlideBoxDelegate.next(); } })
HTML 代码
<button class = "button button-icon icon ion-navicon" ng-click = "nextSlide()"></button>
下表显示了 $ionicSlideBoxDelegate 方法。
委托方法
方法 | 参数 | 类型 | 详细信息 |
---|---|---|---|
slide(parameter1, parameter2) | to, speed | number, number | 参数 to 表示要滑动到的索引。 speed 决定变化的速度(以毫秒为单位)。 |
enableSlide(parameter1) | shouldEnable | boolean | 用于启用或禁用滑动。 |
previous(parameter1) | speed | number | 变化应花费的毫秒值。 |
stop() | / | / | 用于停止滑动。 |
start() | / | / | 用于启动滑动。 |
currentIndex() | / | number | 返回当前幻灯片的索引。 |
slidesCount() | / | number | 返回幻灯片总数。 |
$getByHandle(parameter1) | handle | string | 用于将方法连接到具有相同句柄的特定滑动框。 $ionicSlideBoxDelegate. $getByHandle('my-handle').start(); |