Sencha Touch 2 Carousel 模仿list itemtap

本文详细介绍了如何利用Ext.js的Carousel组件创建动态轮播图,并通过自定义事件监听实现图片点击后的详细视图跳转功能。包括配置轮播图方向、加载图片数据、绑定事件处理器等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


/**
* @Author sai
* Carousel 模仿list itemtap事件
*/
Ext.define('SmartMenu.view.tips.Carousel', {
extend: 'Ext.Carousel',
xtype:'myCarousel',

requires: [
'Ext.carousel.Carousel',
],

config: {
direction: 'horizontal',
listeners: {
'initialize':function(carousel){
Ext.getStore('Pictures').load(function(pictures) {

var myitems = [];

Ext.each(pictures, function(picture) {
if (!picture.get('image_url')) {
return;
}
myitems.push(
{xtype:'panel',

listeners : {
painted : function(panel) {
var el = panel.element;
el.on('tap', function(e, t) {

this.getParent().onTap(picture.data.id);

}, panel);
}
},
items:[{html:'<img src="'+picture.data.image_url[0]+'"/>'+'<br>'+picture.data.title }
]} );
});

carousel.setItems(myitems);

setInterval(function(){
if(i<carousel.getItems().length)
{
i+=1;
carousel.setActiveItem(i);
}
else
{
carousel.setActiveItem(0);
i=0;
}
},1000);
});
}

},
},
onTap:function(id){
//debugger;
var store= Ext.getStore('Pictures');
var data=store.findRecord('id',id).getData();
var menu= Ext.create('SmartMenu.view.tips.SeasonDetails',{fullscreen: true,data: data});
Ext.getCmp('home_nav').setActiveItem(menu);
}
});


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值