ext 实现 滚动 看板 点击 展示 图片
来源:互联网 发布:java调用weka 编辑:程序博客网 时间:2024/04/30 03:23
1,效果如图
2,思路
实现左右滚动 其实元素并没有滚动 只是调整了 viewModel 中的数据的位置
在左右两个按钮的点击事件 分别调整 viewModel 中的数组 是往前位移 还是往后 位移
点击数据块 显示 图片 是在点击的时候 改变图片块绑定的图片的路径 同时 给被点击的数据块切换样式
滚动的时候 也分别将前面或者后面的数据块的样式切换了
3,主要代码
/** * Created by Sukla on 2017/11/21. */Ext.define('app.view.common.myTabChangeViewPanel.MyTabChangeViewPanel', { extend: 'Ext.form.Panel', alias: 'widget.my-tab-change-view-panel', buttons:[ '->', { text:'投食' }, { text:'铲屎' }, '->' ], controller: Ext.create('Ext.app.ViewController', { /** *自定义切换页展示面板 * 清除第一个的数据 同时 添加一个新的数据 */ panelChangeTabData: function (e) { var vm = this.getView(); var arr = vm.getViewModel().data.arr; var isLeft = true; var activeBtnId = -1; if (e.itemId == "left") { arr.push(arr.shift()) } else if (e.itemId == "right") { arr.unshift(arr.pop()) isLeft = false; } vm.getViewModel().set('arr', arr); for (var i = 0; i < 5; i++) { vm.getViewModel().set('name' + (i + 1), arr[i].name); vm.getViewModel().set('age' + (i + 1), arr[i].age); if (vm.items.items[1].items.items[1].items.items[i].hasCls('btn-active-cls')) { vm.items.items[1].items.items[1].items.items[i].removeCls('btn-active-cls') activeBtnId = i } } if (activeBtnId > -1) { if (isLeft) { activeBtnId--; } else { activeBtnId++; } activeBtnId = (activeBtnId + 5) % 5; vm.items.items[1].items.items[1].items.items[activeBtnId].addCls('btn-active-cls') } }, /** * 自定义切换页展示面板 * 点击显示图片 */ showTabImage: function (e) { for (var i = 0; i < 5; i++) { if (this.getView().items.items[1].items.items[1].items.items[i].hasCls('btn-active-cls')) { this.getView().items.items[1].items.items[1].items.items[i].removeCls('btn-active-cls') } } e.addCls('btn-active-cls'); for (var i = 0; i < 5; i++) { if (this.getView().items.items[1].items.items[1].items.items[i].hasCls('btn-active-cls')) { this.getViewModel().set('imgsrc', this.getViewModel().data.arr[i].img); } } } }), layout: { type: 'vbox', align: 'stretch' }, viewModel: { data: { imgsrc: 'resources/images/khjz/pdf/timg.gif', arr: [ {name: '杰瑞', age: 1, img: 'resources/images/khjz/pdf/timg1.gif'}, {name: '大黄', age: 2, img: 'resources/images/khjz/pdf/timg2.gif'}, {name: '小白', age: 3, img: 'resources/images/khjz/pdf/timg3.gif'}, {name: '咪咪', age: 4, img: 'resources/images/khjz/pdf/timg4.gif'}, {name: '发财', age: 5, img: 'resources/images/khjz/pdf/timg5.gif'} ] } }, initComponent: function () { var arr = this.getViewModel().data.arr; for (var i = 0; i < 5; i++) { this.getViewModel().set('name' + (i + 1), arr[i].name); this.getViewModel().set('age' + (i + 1), arr[i].age); } this.items = [ { flex: 0, height: 0, width: 0, xtype: 'grid', reference: 'myTabChangeViewData', store: Ext.create('Ext.data.Store', { data: [ { 'name': [1, 2, 3, 4, 5] } ] }) }, { height: 150, layout: { type: 'hbox', align: 'stretch' }, items: [ { xtype: 'button', width: 100, itemId: 'left', cls: 'tab-change-view-btn-left', handler: 'panelChangeTabData' }, { xtype: 'container', padding: '10', flex: 1, scrollable: 'x', cls: 'my-tab-scroll-panel', layout: { type: 'hbox', align: 'stretch' }, defaults: { xtype: 'button', flex: 1, cls: 'tab-change-view-btn', html: '<span><label>NAME:</label></span><br><span><label>AGE:</label></span>', handler: 'showTabImage' }, items: [ { bind: { html: '<span><label>尊称:</label>{name1}</span><br><span><label>贵庚:</label>{age1}</span><br><span><label>最爱:</label>{name1}</span><br><span><label>等级:</label>{age1}</span>' } }, { bind: { html: '<span><label>尊称:</label>{name2}</span><br><span><label>贵庚:</label>{age2}</span><br><span><label>最爱:</label>{name2}</span><br><span><label>等级:</label>{age2}</span>' } }, { bind: { html: '<span><label>尊称:</label>{name3}</span><br><span><label>贵庚:</label>{age3}</span><br><span><label>最爱:</label>{name3}</span><br><span><label>等级:</label>{age3}</span>' } }, { bind: { html: '<span><label>尊称:</label>{name4}</span><br><span><label>贵庚:</label>{age4}</span><br><span><label>最爱:</label>{name4}</span><br><span><label>等级:</label>{age4}</span>' } }, { bind: { html: '<span><label>尊称:</label>{name5}</span><br><span><label>贵庚:</label>{age5}</span><br><span><label>最爱:</label>{name5}</span><br><span><label>等级:</label>{age5}</span>' } } ] }, { xtype: 'button', width: 100, itemId: 'right', cls: 'tab-change-view-btn-right', handler: 'panelChangeTabData' } ] }, { flex: 1, reference: 'show-tab-image', scrollable:true, bind: { html: '<img style="display:block;margin:0 auto;width:100%;height:100%" src = "{imgsrc}">' } }, ] this.callParent(); }})
阅读全文
0 0
- ext 实现 滚动 看板 点击 展示 图片
- js图片滚动展示
- js实现图片的点击滚动效果
- 实现点击 WebView 中的图片,调用原生控件展示图片
- 点击图片缩略图放大展示效果的实现
- 新闻客户端首页图片无限循环滚动展示(可点击触发不同事件)初步封装IOS
- 新闻客户端首页图片无限循环滚动展示(可点击触发不同事件)初步封装IOS
- 新闻客户端首页图片无限循环滚动展示(可点击触发不同事件)初步封装IOS
- 新闻广告图片滚动展示
- js点击图片滚动
- 点击滚动图片
- iOS-利用UIScrollView实现展示图片的无限滚动及自动滚动
- 利用UIScrollView实现展示图片的无限滚动及自动滚动
- iOS-利用UIScrollView实现展示图片的无限滚动及自动滚动
- iOS-利用UIScrollView实现展示图片的无限滚动及自动滚动 - 郭晓
- 实现文字的滚动展示
- js控制图片左右滚动,自动翻滚,图片滚动展示
- 点击按钮图片左右滚动
- 1-架构分类,协议,web开发中常说的名词
- activeMQ实践(一)--基础概念
- Struts2和MyBatis的整合和ResultMap的使用
- 求二叉树高度、宽度
- 对地监测相机的系统技术指标
- ext 实现 滚动 看板 点击 展示 图片
- javaEE使用标志位完成流程审批
- [git] warning: LF will be replaced by CRLF | fatal: CRLF would be replaced by LF
- Qt 绘制圆形图片去除锯齿 圆形图片
- UIAutomator2.0详解(UIDevice篇----获取控件)
- 回调函数
- Python Anaconda安装教程
- 简单说说如何把json或者txt文件转换为db
- BZOJ 1192 [HNOI2006]鬼谷子的钱袋(玄学)