久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

微信小程序?qū)崙?zhàn)篇...

 cyfanz 2021-10-30
哈嘍,,大家好,,今天要進(jìn)入新篇章啦,商品詳情頁,,這個(gè)可是個(gè)大模塊,,要分好幾次才能講解清楚,現(xiàn)在我們先進(jìn)行第一講,,老規(guī)矩,,先上效果圖

有木有很酷炫啊,下面由代碼君教你如何實(shí)現(xiàn)。

詳情頁布局

看效果圖,,可以知道詳情頁包含以下幾個(gè)模塊,,banner、標(biāo)題欄,、選擇購(gòu)買欄,、商品評(píng)價(jià)、商品詳情,、還有一個(gè)底部懸浮欄,,這里比較難的是底部懸浮欄,剩下的我們之前模塊我們之前就有布局過

1. detail.wxml

  1. <!-- banner -->
  2. <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
  3. <block wx:for="{{imgUrls}}">
  4. <swiper-item>
  5. <image src="{{item}}" data-src="{{item}}" bindtap="previewImage"></image>
  6. </swiper-item>
  7. </block>
  8. </swiper>
  9. <scroll-view scroll-y="true">
  10. <view class="detail">
  11. <text class="title">LANCOME蘭蔻小黑瓶精華肌底液</text>
  12. <text class="price">¥500</text>
  13. </view>
  14. <view class="separate"></view>
  15. <!-- sku選擇 -->
  16. <text bindtap="toggleDialog">請(qǐng)選擇購(gòu)買數(shù)量</text>
  17. <view class="separate"></view>
  18. <text>商品評(píng)價(jià)</text>
  19. <text class="text-remark">東西還可以,,好評(píng)~</text>
  20. <view class="separate"></view>
  21. <text>商品詳情</text>
  22. <block wx:for-items="{{detailImg}}" wx:key="name">
  23. <image class="image_detail" src="{{item}}" />
  24. </block>
  25. <view class="temp"></view>
  26. </scroll-view>
  27. <!-- 底部懸浮欄 -->
  28. <view class="detail-nav">
  29. <image bindtap="toCar" src="../../images/detail/detail_btn_cart.png" />
  30. <view class="line_nav"></view>
  31. <image bindtap="addLike" src="{{isLike?'../../images/detail/detail_btn_mark_selected.png':'../../images/detail/detail_btn_mark_normal.png'}}" />
  32. <button class="button-green" bindtap="addCar" formType="submit">加入購(gòu)物車</button>
  33. <button class="button-red" bindtap="immeBuy" formType="submit">立即購(gòu)買</button>
  34. </view>

這里面要講解的有

  • banner里面新加入一個(gè)東西bindtap=”previewImage”,,圖片預(yù)覽功能,就是查看大圖,,至于事件是如何處理的,,請(qǐng)查看detail.js 里的previewImage事件
  • 底部懸浮欄里面的那個(gè)收藏按鈕,我們要如何做用戶點(diǎn)擊一下就更換收藏圖標(biāo)吶,,本文是通過isLike這個(gè)Boolean值來做判斷的,,用戶每觸發(fā)一次addLike事件,就更換一次Boolean值,,按鈕的更換效果就實(shí)現(xiàn)了

2. detail.wxss

  1. page {
  2. display: flex;
  3. flex-direction: column;
  4. height: 100%;
  5. }
  6. /* 直接設(shè)置swiper屬性 */
  7. swiper {
  8. height: 500rpx;
  9. }
  10. swiper-item image {
  11. width: 100%;
  12. height: 100%;
  13. }
  14. .detail {
  15. display: flex;
  16. flex-direction: column;
  17. margin-top: 15rpx;
  18. margin-bottom: 0rpx;
  19. }
  20. .detail .title {
  21. font-size: 40rpx;
  22. margin: 10rpx;
  23. color: black;
  24. text-align: justify;
  25. }
  26. .detail .price {
  27. color: red;
  28. font-size: 40rpx;
  29. margin: 10rpx;
  30. }
  31. .line_flag {
  32. width: 80rpx;
  33. height: 1rpx;
  34. display: inline-block;
  35. margin: 20rpx auto;
  36. background-color: gainsboro;
  37. text-align: center;
  38. }
  39. .line {
  40. width: 100%;
  41. height: 2rpx;
  42. display: inline-block;
  43. margin: 20rpx 0rpx;
  44. background-color: gainsboro;
  45. text-align: center;
  46. }
  47. .detail-nav {
  48. display: flex;
  49. flex-direction: row;
  50. align-items: center;
  51. float: left;
  52. background-color: #fff;
  53. position: fixed;
  54. bottom: 0;
  55. right: 0;
  56. z-index: 1;
  57. width: 100%;
  58. height: 100rpx;
  59. }
  60. .button-green {
  61. background-color: #4caf50; /* Green */
  62. }
  63. .button-red {
  64. background-color: #f44336; /* 紅色 */
  65. }
  66. .image_detail {
  67. width: 100%;
  68. }
  69. button {
  70. color: white;
  71. text-align: center;
  72. text-decoration: none;
  73. display: inline-block;
  74. font-size: 30rpx;
  75. border-radius: 0rpx;
  76. width: 50%;
  77. height: 100%;
  78. line-height: 100rpx;
  79. }
  80. .detail-nav image {
  81. width: 70rpx;
  82. height: 50rpx;
  83. margin: 20rpx 40rpx;
  84. }
  85. .line_nav {
  86. width: 5rpx;
  87. height: 100%;
  88. background-color: gainsboro;
  89. }
  90. /* 占位 */
  91. .temp {
  92. height: 100rpx;
  93. }
  94. text {
  95. display: block;
  96. height: 60rpx;
  97. line-height: 60rpx;
  98. font-size: 30rpx;
  99. margin: 10rpx;
  100. }
  101. .text-remark {
  102. display: block;
  103. font-size: 25rpx;
  104. margin: 10rpx;
  105. }

css 樣式屬性

  • border-radius 設(shè)置邊界圓角,,設(shè)置的大小就是邊角的弧度,該屬性可以應(yīng)該在按鈕活圖片上,,由于加入購(gòu)物車和立即購(gòu)買是放在底部所以最好是直角,,所以把border-radius設(shè)置為0

  • display inline-block值代表混合塊和內(nèi)聯(lián)特性。
    盒子的外部被視為內(nèi)聯(lián)元素,。因此,不會(huì)為元素創(chuàng)建新行,。
    框的內(nèi)部被視為塊元素,,并應(yīng)用諸如寬度,高度和邊距的屬性,。

  • align-items 設(shè)置了flex容器的對(duì)齊方式,。一般設(shè)置為center居中

  • z-index 屬性指定一個(gè)元素的堆疊順序。如果值設(shè)置為正數(shù),,越大這對(duì)應(yīng)的view也會(huì)越在上面一層,,負(fù)數(shù)就是在底層,當(dāng)前頁面z-index 為0,,所以要底部導(dǎo)航欄要浮在上面就把z-index 設(shè)置大于0就好

3. detail.js

  1. Page({
  2. data: {
  3. isLike: true,
  4. // banner
  5. imgUrls: [
  6. "http://mz.djmall./files/product/20161201/148057921620_middle.jpg",
  7. "http://mz.djmall./files/product/20161201/148057922659_middle.jpg",
  8. "http://mz.djmall./files/product/20161201/148057923813_middle.jpg",
  9. "http://mz.djmall./files/product/20161201/148057924965_middle.jpg",
  10. "http://mz.djmall./files/product/20161201/148057925958_middle.jpg"
  11. ],
  12. indicatorDots: true, //是否顯示面板指示點(diǎn)
  13. autoplay: true, //是否自動(dòng)切換
  14. interval: 3000, //自動(dòng)切換時(shí)間間隔,3s
  15. duration: 1000, // 滑動(dòng)動(dòng)畫時(shí)長(zhǎng)1s
  16. // 商品詳情介紹
  17. detailImg: [
  18. "http://7xnmrr.com1.z0.glb./detail_1.jpg",
  19. "http://7xnmrr.com1.z0.glb./detail_2.jpg",
  20. "http://7xnmrr.com1.z0.glb./detail_3.jpg",
  21. "http://7xnmrr.com1.z0.glb./detail_4.jpg",
  22. "http://7xnmrr.com1.z0.glb./detail_5.jpg",
  23. "http://7xnmrr.com1.z0.glb./detail_6.jpg",
  24. ],
  25. },
  26. //預(yù)覽圖片
  27. previewImage: function (e) {
  28. var current = e.target.dataset.src;
  29. wx.previewImage({
  30. current: current, // 當(dāng)前顯示圖片的http鏈接
  31. urls: this.data.imgUrls // 需要預(yù)覽的圖片http鏈接列表
  32. })
  33. },
  34. // 收藏
  35. addLike() {
  36. this.setData({
  37. isLike: !this.data.isLike
  38. });
  39. },
  40. // 跳到購(gòu)物車
  41. toCar() {
  42. wx.switchTab({
  43. url: '/pages/cart/cart'
  44. })
  45. },
  46. // 立即購(gòu)買
  47. immeBuy() {
  48. wx.showToast({
  49. title: '購(gòu)買成功',
  50. icon: 'success',
  51. duration: 2000
  52. });
  53. },
  54. })

介紹幾個(gè)系統(tǒng)API的接口

  • wx.previewImage 圖片預(yù)覽功能
    • current 傳入當(dāng)前圖片路徑
    • urls 圖片數(shù)組urls
  • wx.showToast
    Toast 吐司,,做前端都知道,這個(gè)是一定會(huì)用到的,就是彈出半透明框,,和用戶進(jìn)行交互,,wx.showToast調(diào)用很簡(jiǎn)單,

    • title 就是你要提示用戶的內(nèi)容,,
    • icon,,目前只支持”success”、”loading”兩個(gè)屬性,,
    • image 自定義圖片,如果設(shè)置了image圖片就會(huì)頂替掉icon的圖片
    • mask 是否顯示透明蒙層,,換句話說就是設(shè)置當(dāng)Toast顯示的時(shí)候,用戶可不可以點(diǎn)擊其他按鈕,,默認(rèn)是不顯示透明蒙層
  • wx.switchTab 跳轉(zhuǎn)到購(gòu)物車界面,,詳解請(qǐng)看下面的知識(shí)小課堂

知識(shí)小課堂

  1. css樣式的復(fù)用:@import “tab/tab.wxss”;
    最近遇到一個(gè)問題,就是同一個(gè)頁面有用到別的頁面的樣式,,這時(shí)候最笨的方式是,,把別的頁面的樣式拷貝過來,但是這樣會(huì)導(dǎo)致代碼冗余量太大,,還有一個(gè)是寫在app.wxss里面,,這個(gè)大家都可以共用,但是這個(gè)也不太好就是,,所有有用到復(fù)用的就全寫在app.wxss,這樣會(huì)導(dǎo)致該樣式過于臃腫,,不利于代碼的閱讀,這時(shí)候@import,,就派上用場(chǎng)了,,只需要在xxx.wxss頁面加入@import “tab/tab.wxss”;這樣你就可以引用tab.wxss里面類的屬性了
  2. 幾個(gè)界面跳轉(zhuǎn)的區(qū)分
    • wx.navigateTo(OBJECT) 保留當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁面
    • wx.redirectTo(OBJECT) 關(guān)閉當(dāng)前頁面,,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁面
    • wx.switchTab(OBJECT) 跳轉(zhuǎn)到 tabBar 頁面,,并關(guān)閉其他所有非 tabBar 頁面
    • wx.navigateBack(OBJECT) 關(guān)閉當(dāng)前頁面,返回上一頁面或多級(jí)頁面,。
      通過上面的解釋,,我們可以知道,我們底部懸浮欄中購(gòu)物車的跳轉(zhuǎn)應(yīng)該用wx.switchTab,,因?yàn)樗且D(zhuǎn)到購(gòu)物車tab頁面

總結(jié)

今天講解的內(nèi)容有點(diǎn)多,,大家回去好好消化吧,反正我要說的是,,詳情頁的知識(shí)點(diǎn)是個(gè)大頭,,絲毫不遜色與首頁的內(nèi)容,提前穿插一些知識(shí)點(diǎn),,方便下一節(jié)的深入講解,,好了,,今天就到這,祝大家周末愉快~


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約