ホームページ WeChat アプレット ミニプログラム開発 WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明

WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明

Mar 15, 2017 pm 04:27 PM

この記事では主にWeChat Mini ProgramViewコンテナコンポーネントの詳細な説明とサンプルコードを紹介します。ここでは基本的な知識を詳しく紹介し、必要な友人はそれを参照してください

。プログラム ビュー コンテナ コンポーネントの詳細な説明:

アプレットには 3 つのビュー コンテナ コンポーネント: 、、:

1、 view> ビュー コンテナ

には、HTML の

タグと同等の

WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明 属性があります。クリック効果 関連: hover はクリック効果を有効にするかどうかを設定し、hover-class はクリックの効果を設定します。

hover-start-time と hover-stay-time は、クリック効果の時間に関連しています: hover-start-time は、クリック、hover-stay 後に表示されるクリック効果の遅延時間を設定します。 -time クリック効果の持続時間を設定します。時間の単位はミリ秒です。

テストするプロジェクトを作成します:効果は次のとおりです:最初と 2 番目のサブビューのクリック効果は異なります。2 番目のクリックは遅延が長く、持続時間も長くなります。 3 番目の値には他のクリック効果がないため、これがデフォルト値として使用され、デフォルトではクリック効果がありません。

2. スクロール可能なビューエリア

には、水平スクロールと垂直スクロールの 2 つのタイプがあります。 には次の属性があります:

同様に、上記の属性の使用法を理解するためにプロジェクトを作成します。

index.wxml

<view class="container">
 <view class="flex-item bc_green" hover="true" hover-class="green_hover">1</view>
 <view class="flex-item bc_red" hover="true" hover-class="red_hover" hover-start-time="400" hover-stay-time="1000">2</view>
 <view class="flex-item bc_blue">3</view>
</view>
ログイン後にコピー

index.wxss

.flex-item{
 width: 100%;
 height: 100px;
 box-sizing: border-box;
}
.bc_green{
 background-color: green;
}
.bc_red{
 background-color: red;
}
.bc_blue{
 background-color: blue;
}
.green_hover{
 border: 5px solid black;
}
.red_hover{
 border: 5px solid black;
}
ログイン後にコピー

WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明

index.js

<view class="container">
 <scroll-view class="srcoll_view" scroll-y="true" lower-threshold="100" bindscrolltolower="lower" scroll-top="{{scrollTop}}" scroll-into-view="{{toView}}">
 <view id="green" class="flex-item bc_green">1</view>
 <view id="red" class="flex-item bc_red">2</view>
 <view id="blue" class="flex-item bc_blue">3</view>
 <view id="yellow" class="flex-item bc_yellow">4</view>
 </scroll-view>
 <view class="clickItem" bindtap="clickAdd">点击向下滚动</view>
 <view class="clickItem" bindtap="clickTo">点击滚动到下一个子view</view>
</view>
ログイン後にコピー

ページの効果は次のとおりです:

WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明

scroll- yとscroll-x"

まず、縦スクロールを意味するのscroll-y="true"を設定します。index.wxssでは高さを200pxに設定していますが、サブ子 のそれぞれの高さは 100 ピクセルで、2 つの完全なサブ子 を完全に収容できます。scroll-x="true" が設定されている場合、水平にスクロールします。

scroll-topとscroll-

left

scroll-topは垂直スクロールバーの位置で、デフォルトは同様に0です。上記のプログラムでは、scroll-leftは水平スクロールバーの位置です。 、scroll-top="{{scrollTop}}" が設定され、scrollTop はデータから決定されます

表示を改善するには、

関数

を新しい にバインドします:

.srcoll_view{
 height: 200px;
}
.flex-item{
 width: 100%;
 height: 100px;
 box-sizing: border-box;
}

.bc_green{
 background-color: green;
}

.bc_red{
 background-color: red;
}

.bc_blue{
 background-color: blue;
}
.bc_yellow{
 background-color: yellow;
}

.clickItem{
 margin-top: 20px;
 background-color: grey;
 height: 20px;
 border-radius: 5px;
}
ログイン後にコピー

。この関数は、scrollTop の値を段階的に変更します:

var app = getApp();
var order = [&#39;green&#39;,&#39;red&#39;, &#39;blue&#39;,&#39;yellow&#39;,&#39;green&#39;];
Page({
 data: {
 scrollTop: 0,
 toView:"green"
 },

 onLoad: function () {
 },

 lower: function(e) {
 console.log(e)
 },

 clickAdd:function(){
 this.setData({
  scrollTop: this.data.scrollTop+20
 });
 console.log("this.data.scrollTop:" + this.data.scrollTop);
 },

 clickTo: function(e) {
 for (var i = 0; i < order.length; i++) {
 if (order[i] === this.data.toView) {
 this.setData({
  toView: order[i + 1]
 })
 break
 }
 }
 },

})
ログイン後にコピー

WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明つまり、1 回クリックするたびに、scrollTop が 20 ずつ増加するため、20 ピクセル下にスクロールします

scroll-into-view

scroll-into-view的值为某个子元素的id,表明滚动到该元素,元素顶部对齐滚动区域顶部。上述程序中设置了scroll-into-view="{{toView}}",toView从数据中获取。

新建一个并绑定一个函数:

<view class="clickItem" bindtap="clickTo">点击滚动到下一个子view</view>
1
ログイン後にコピー

函数的功能为按顺序滚动到对应的子元素:

clickTo: function(e) {
 for (var i = 0; i < order.length; i++) {
 if (order[i] === this.data.toView) {
 this.setData({
  toView: order[i + 1]
 })
 break
 }
 }
 },
ログイン後にコピー

其中order为一个数组变量,存放着所有子元素的id:

var order = [&#39;green&#39;,&#39;red&#39;, &#39;blue&#39;,&#39;yellow&#39;];
ログイン後にコピー

bindscrolltolower和bindscrolltoupper

bindscrolltolower和bindscrolltoupper为事件绑定:bindscrolltolower是滚动到底部/右边时触发;bindscrolltoupper是滚动到顶部/左边时触发。另外还有一个bindscroll是只要滚动时就会触发。

以bindscrolltolower为例,bindscrolltolower表示滚动到底部或右边时触发,这个底部或右边是如何定义的呢?这时就需要用到lower-threshold,lower-threshold表示距底部/右边多远时(单位px),触发 scrolltolower 事件,默认值为50,上述代码中我们定义了lower-threshold="100",由于子的高度就是100px,所以正好出现最后一个子时就会触发事件:

WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明

3、 滑块视图容器

其实就是微信小程序封装的幻灯片轮播功能,并给出了几个可供开发者设置的属性:

WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明

用户可以根据自己需求设置相应的属性值即可,示例代码如下:

swiper.wxml

<view class="container">
 <swiper indicator-dots="{{indicatorDots}}"
 autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" circular="{{circular}}" bindchange="change">
 <block wx:for="{{imgUrls}}">
  <swiper-item>
  <image src="{{item}}" />
  </swiper-item>
 </block>
 </swiper>
</view>
ログイン後にコピー

swiper.wxss

swiper{
 height: 150px;
 width:100%;
}
ログイン後にコピー

swiper.js

Page({
 data: {
 imgUrls: [
 &#39;http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg&#39;,
 &#39;http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg&#39;,
 &#39;http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg&#39;
 ],
 indicatorDots: true,
 autoplay: true,
 interval: 2000,
 duration: 500,
 circular:true
 },

 change:function(e){
 console.log(e);
 }

})
ログイン後にコピー

由于绑定了change函数,所以每次切换时,都会触发change事件:

WeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

以上がWeChat アプレット ビュー コンテナ コンポーネントのサンプル コードの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)