Ext.js card_wizard Layout Ext.js card_panel Layout Ext.js Column Layout Ext.js card_wizard Layout <!DOCTYPE html> <html> <head> <link href = "https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/theme-classic/resources/theme-classic-all.css" rel = "stylesheet" /> <script type = "text/javascript" src = "https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/ext-all.js"></script> <script type = "text/javascript"> Ext.onReady(function() { Ext.create('Ext.panel.Panel', { renderTo: Ext.getBody(), requires: ['Ext.layout.container.Card'], layout: 'card', width: 600, height: 200, bodyPadding: 15, defaults: { border:false }, defaultListenerScope: true, bbar: ['->', { itemId: 'card-prev', text: '« Previous', handler: 'showPrevious', disabled: true },{ itemId: 'card-next', text: 'Next »', handler: 'showNext' }], items: [{ id: 'card0', html: '<h2> This is card wizard layout </h2> <p> This is first card </p> <p> Please click the "Next" button to continue... </p>' },{ id: 'card1', html: '<p> This is second card </p> <p> Please click the "Next" button for next card and "Previous" button for previous card... </p>' },{ id: 'card2', html: '<p> This is final card </p> <p> Please click the "Previous" button for previous card... </p>' }], showNext: function () { this.cardPanelNavigation(1); }, showPrevious: function (btn) { this.cardPanelNavigation(-1); }, cardPanelNavigation: function (incr) { var me = this; var l = me.getLayout(); var i = l.activeItem.id.split('card')[1]; var next = parseInt(i, 10) + incr; l.setActiveItem(next); me.down('#card-prev').setDisabled(next===0); me.down('#card-next').setDisabled(next===2); } }); }); </script> </head> <body> </body> </html> Ext.js card_panel Layout Ext.js Column Layout