이 글에서는 다음과 같은 메뉴 효과와 루프 중첩 로딩을 구현하는 WeChat 애플릿을 주로 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.
효과는 그림과 같습니다.
코드는 다음과 같습니다.
wxml
//使用循环嵌套data数据格式写对即可 <scroll-view class="left" scroll-y> <view wx:for="{{left}}" class="leftlist {{index==_click?'yes':''}}" data-i="{{index}}" bindtap="tap"> {{item.txt}} </view> </scroll-view> <scroll-view class="right" scroll-y bindscroll="scroll" scroll-into-view="{{toView}}"> <view id="{{item.id}}" wx:for="{{right}}"> <view class="title"> <text class="line"></text> {{item.txt}} <text class="line"></text> </view> <view class="li" wx:for="{{item.li}}"> <image src="{{item.src}}"></image> <text class="name">{{item.name}}</text> </view> </view> </scroll-view>
js
Page({ data: { toView: 'red1', _click:0, left: [{ txt: '新品', id: 'new' }, { txt: '手机', id: 'phone' }, { txt: '电视', id: 'mv' }, { txt: '电脑', id: 'computer' }], right: [ { txt: '新品', id: 'new',li: [{ src: '../../assets/images/max1.jpg', name: '小米noto' }, { src: '../../assets/images/max1.jpg', name: '小米mix' }, { src: '../../assets/images/max3.jpg', name: '小米5c' }, { src: '../../assets/images/max2.jpg', name: '小米notp' }, { src: '../../assets/images/max2.jpg', name: '小米note5' }, { src: '../../assets/images/max2.jpg', name: '小米6' }]}, { txt: '手机', id: 'phone',li: [{ src: '../../assets/images/max2.jpg', name: '小米6s' }, { src: '../../assets/images/max3.jpg', name: '小米max' }, { src: '../../assets/images/max2.jpg', name: '小米5s' }, { src: '../../assets/images/max1.jpg', name: '小米li' }, { src: '../../assets/images/max3.jpg', name: '小米4' }, { src: '../../assets/images/max1.jpg', name: '小米max' }]}, { txt: '电视', id: 'mv', li: [{ src: '../../assets/images/max3.jpg', name: '小米6' }, { src: '../../assets/images/max2.jpg', name: '小米mix' }, { src: '../../assets/images/max1.jpg', name: '小米7s' }, { src: '../../assets/images/max3.jpg', name: '小米2' }, { src: '../../assets/images/max1.jpg', name: '小米note7' }, { src: '../../assets/images/max3.jpg', name: '小米8' }] }, { txt: '电脑', id: 'computer', li: [{ src: '../../assets/images/max1.jpg', name: '小米2' }, { src: '../../assets/images/max1.jpg', name: '小米mix' }, { src: '../../assets/images/max2.jpg', name: '小米max' }, { src: '../../assets/images/max1.jpg', name: '小米6' }, { src: '../../assets/images/max3.jpg', name: '小米note' }, { src: '../../assets/images/max1.jpg', name: '小米max' }] }] }, scroll: function (e) { console.log(e)//右侧列表滑动-左侧列表名称样式跟着改变,然而我不会写,搁置中,谁会告诉我,谢谢! }, tap: function (e) { var j = parseInt(e.currentTarget.dataset.i); this.setData({ toView: this.data.left[j].id,//控制视图滚动到为此id的<view> _click:j //控制左侧点击后样式 }) }, })
wxss
page{border-top:1px solid #f6f6f6;} .left{ height:100%; width: 19%; display: inline-block; background:#fff; text-align:center; border-right:1px solid #eee; } .leftlist{ font-size:12px; padding:10px; } .right{ height:100%; width: 80%; display: inline-block; background:#fff; text-align:center; } .line{ width:15px; height:1px; background:#ddd; display:inline-block; vertical-align:super; margin:0 15px; } .li{ height:10%; width:30%; display:inline-block; text-align:center; } .li image{width:60px;height:60px;} .li .name{ font-size:12px; display:block; color:#888; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; } .title{padding:20px 0;} .yes{color: #f99;font-size: 14px;}
친절한 알림 :
1. 왼쪽 클릭 스타일 변경:
자체 인덱스를 사용하여 클릭한 요소의 인덱스와 비교합니다.
data-i="{{현재 색인을 가져와서 _click에 전달하여 저장하세요.}}",
class="leftlist {{index==_click?'yes':"}}",
여기의 색인은 자신의 클릭과 일치하는 경우 yes 클래스 이름을 추가합니다. 그렇지 않으면 yes 스타일을 지웁니다.
2. 왼쪽을 클릭하고 오른쪽을 따릅니다.
scroll-into-view=" {{id}}"를 보려면 이 ID가 있는 보기 태그로 스크롤합니다. 데이터 데이터에서 직접 ID를 가져오거나 클릭한 요소 ID를 직접 가져올 수 있습니다.
3. 루프 중첩: 다음을 따르세요. 관련 권장 사항:
JS 슬라이딩 로딩 데이터 예시 공유의 간단한 구현데이터 로딩 기능의 ajax 구현에 대한 자세한 예시WeChat 애플릿 페이지의 슬라이딩 화면 로딩 데이터에 대한 자세한 예시위 내용은 다음 메뉴 효과의 WeChat 애플릿 구현 및 데이터 예제의 루프 중첩 로딩에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!