InfiniteCarousel
1639 단어 init
Ext.define('Ext.ux.InfiniteCarousel', {
extend: 'Ext.Carousel',
xtype: 'infinitecarousel',
config: {
indicator: false
},
initConfig: function(){
var me = this;
me.callParent(arguments);
me.delay = me.config.delay;
delete me.config;
},
initialize: function(){
var me = this;
me.callParent();
var isEven = function(nb){
return (nb%2 == 0) ? true : false;
};
me.nbItems = me.getItems().length;
me.interval = (isEven(me.nbItems) ? me.nbItems/2 : (me.nbItems-1)/2);
me.setActiveItem(me.interval);
me.on('activeitemchange', me.onActiveItemChange, me);
if(me.delay > 0)
me.timeout = Ext.defer(me.rotate, me.delay, me);
},
onActiveItemChange: function(c,v,ov){
var me = this;
if (me.timeout){
clearTimeout(me.timeout);
me.timeout = Ext.defer(me.rotate, me.delay, me);
}
var active = c.getActiveIndex(),
direction = (c.getItems().indexOf(v) > c.getItems().indexOf(ov)) ? 'forward' : 'backward',
container = (direction=='forward') ? c.getAt(active-me.interval-1) : c.getAt(active+me.interval+1);
c.remove(container, false);
(direction=='forward') ? c.add(container) : c.insert(0,container);
},
rotate: function(){
this.next();
}
});
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[GitHub] Repository 초기 세팅 및 업로드Public: 외부 사람도 볼 수 있도록 설정 git 설치 확인 방법 : 명령 프롬프트(cmd)에 "git --version"라고 작성 후 확인 방법 1 : Repository를 원하는 위치에 폴더로 내려 받기 방법...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.