Ionic implements slide tab switching. ionictab

Source: Internet
Author: User

Ionic implements slide tab switching. ionictab

Slide tabs can be implemented using the slide-box component of ionic. It mainly listens to tab clicks and slide page sliding events for corresponding processing and uses the ng-repeat loop, optimized and simplified the Code. If you need it, you can check it out.

First take a look:

  

Css code used:

.tab_default{  border-bottom:solid 1px #F2F2F2; padding:6px 0;}.tab_select{ border-bottom:solid 1px #3E89F5; box-shadow:0 -3px 8px #C1D3F0 inset;}.arrow-top { position: absolute; width: 0; height: 0;  top:20px;  border: 6px solid #3E89F5; border-right-color:transparent; border-left-color: transparent; border-top-color: transparent;}.arrow-top:after { content:''; position:absolute; width: 0; height: 0;  border: 12px solid #fff; right: -12px; bottom: -13px; border-right-color:transparent; border-left-color: transparent; border-top-color: transparent;}

Html code on the page:

<Ion-view-title = "sliding tab"> <ion-content has-bouncing = "false"> <div style = "display: flex; width: 100%; "> <div style =" flex: 1; text-align: center; "class =" tab_default "ng-repeat =" d in tabNames "ng-click =" activeSlide ($ index) "ng-class =" slectIndex = $ index? 'Tab _ select': ''" >{{ d }}< div class = "arrow-top" style = "left: {15 + $ index * 33 }}% "ng-show =" slectIndex = $ index "> </div> <ion-slide -box on-slide-changed = "slideChanged (index) "active-slide =" slideIndex "does-continue =" false "show-pager =" false "> <ion-slide ng-repeat =" p in pages "> <div ng -include = "p"> </div> </ion-slide-box> </ion-content> </ion-view>

Corresponding controller. js code:

$ Scope. tabNames = ['java', 'html5', 'android']; $ scope. slectIndex = 0; $ scope. activeSlide = function (index) {// triggered $ scope when clicked. slectIndex = index; $ ionicSlideBoxDelegate. slide (index) ;}; $ scope. slideChanged = function (index) {// triggered when sliding $ scope. slectIndex = index ;}; $ scope. pages = ["templates/tab01.html", "templates/tab02.html", "templates/tab03.html"];

Tab01.html#tab02.html#tab03.html are similar. paste a tab01:

<div style="width:100%;text-align: center;padding-top:30px;"> page 01 <p style="margin-top:30px;">   </p></div>

Note:
• When you click, assign the index $ index of the current loop to the variable slideIndex, and use ng-class in the tab to determine whether the index and slideIndex are the same when you click the index, in the same way, the style of the corresponding tab is changed;
• Slide is a slide-box function, on-slide-changed. When the slide page is changed, A variable index will be passed to the function to identify the current slide index;
• If you do not want to scroll, you can remove the on-slide-changed listener or add an attribute, disable-scroll = "true", to disable slide page scrolling;

The above is all the content of this article. I hope it will be helpful for your learning and support for helping customers.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.