微信小程序商品详情页交互源码(选择商品类型切换、预览商品图片)

微信小程序点击按钮变字体颜色 实现一个按钮,和一段文字“Hello World”,点击时依次按照“红,绿,蓝,绿”的次序循环变换文字颜色。即:红,绿,蓝,绿,红,绿,蓝,绿。 阅读详情

maker一下自己捣鼓的商品详情页,主要是选择商品类型的交互和样式,点击不同类型切换图片和文字,商品增加减少,还有商品预览图片(本地图片无法预览!!!)。。

源码下载:http://download.youkuaiyun.com/download/dknightl/9939872

1.效果图

效果图

2.wxml



<view class="swiper_area">
  <swiper indicator-dots="{{indicatorDots}}" indicator-color="#fff"
    autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
    <block wx:for="{{imgUrls}}">
      <swiper-item data-img="{{item.flower_image}}" bindtap="seeSwiperAll">
        <image data-id="{{item.flower_id}}" src="{{item.flower_image}}" class="slide-image" />
      </swiper-item>
    </block>
  </swiper>
</view>

<view class="goods_infor_top">
  <view class="goods_title">{{good.good_name}}
  </view>
  <view class="good_description">
    <text class="description_content">{{good.good_mark}}</text>
  </view>

  <view class="good_info_bottom display-flex-row" style="">
    <view class="good_price">
      <text class="color_ff6700 good_dis_price pdr10rpx display-ib">¥{{goodPrice}}/{{good.good_unit}}</text> 
      <block wx:if="{{good.good_column=='100903'}}">
        <text class="good_orin_price td-lt display-ib">
          ¥{{goodOrinPrice}}
        </text> 
      </block>  
    </view>
    <view class="sale">
      <text class="good_sale_count display-ib" style="">销量:{{good.good_sell}}</text>   
    </view>        
  </view>

</view>

<view bindtap="viewFlowerArea" class="choose_catalog_area bg_fff display-flex-row">
  <view class="fl">选择花色:
    {{flowerNameSelect}}
  </view>
  <image class="arrow_right fr" src="../../image/icon-arrow.png"/>
</view>



<view  class="commodity_screen" bindtap="hideModal" wx:if="{{showModalStatus}}"></view>
<view  animation="{{animationData}}"  
  class="catalog_area bg_fff {{isHidden == 1 ? 'display-block':'display-none'}}">

  <view class="catalog_title">
      <image class="thumbnails" src="{{flowerImgSelect}}" mode="aspectFill"></image>
      <view class="info_tip">
        <view class="good_dis_price">¥{{goodPrice}}</view>  
        <view class="choosed_catalog text-hidden">{{flowerNameSelect}}</view>
      </view> 
      <image class="cancel" bindtap="hideModal" src="../../image/delete.png"></image>       
  </view>

  <scroll-view  scroll-y="true" style="height: 640rpx;margin-top:175rpx">

    <view class="info_choose">
        <view class="catalog_name">花型</view>

        <view class="catalog_items display-flex-row" >
          <block wx:for="{{goodflowers}}">
            <text data-img="{{globalData.root}}{{item.flower_image}}" data-select="{{item.flower_id}}"  data-flower-name="{{item.flower_name}}"
                class="{{item.flower_id == flowerSelect ? 'active':''}} catalog_item" 
                bindtap="chooseFlower">{{item.flower_name}}
            </text>
          </block>
        </view>   


        <view class="borderTop"></view>
        <view class="catalog_count display-flex-row" >
          <view class="catalog_name">
            购买数量
          </view>
          <view class="count_control display-flex-row">
            <span class="item_reduce item_btn" bindtap="{{goodNum>1?'goodReduce':''}}">-</span>
                <span class="item_num"  bindtap="carRemove">{{goodNum}}</span>
                <span class="item_add item_btn" bindtap="goodAdd">+</span>
          </view>   
        </view>  
         <view class="borderTop"></view>



    </view>

  </scroll-view>


    <view class="btn_hidden"></view>
    <view class="btn_area display-flex-row" >
      <view bindtap="addCart" class="goods_half_half bg_09bb07 color_fff">加入购物车</view>
      <view bindtap="saveOrder" class="goods_half_half bg_ff6700 color_fff">立即购买</view>
    </view>

</view>




<view class="container width100 ">
  <view class="tab bg_fff">
    <view class="tab-content mgb10rpx">
      <view  class="btn right_btn {{select==0?'active':''}}" data-area="0" bindtap="changeArea">商品详情</view>
      <view  class="btn left_btn {{select==1?'active':''}}" data-area="1" bindtap="changeArea">商品参数</view>
    </view>
  </view>


  <view wx:if="{{0==select}}">





  </view>




  <view wx:if="{{1==select}}" class="param_area"></view>
</view>


<view class="{{isHidden == 0 ? 'display-block':'display-none'}}">
  <view class="goods_bottom"></view>
  <view class="goods_bottom_btn display-flex-row">
    <view bindtap="addCart" class="goods_half_half bg_09bb07 color_fff">加入购物车</view>
    <view bindtap="saveOrder" class="goods_half_half bg_ff6700 color_fff">立即购买</view>
  </view>

</view>

3.js



Page({
  data: {
    //商品信息,假装请求到的信息
    orinGoodMsg: { "good": { "visible": "101", "tourist_dis_price": 510, "good_identity": "00204", "good_sell": "100", "good_brand": "", "last_modify_time": "2017-08-08 20:10:05", "good_place": "101", "good_type": "2", "good_display_img": "../../image/swiper.jpg", "dealer_price": 0, "last_modify_id": "1", "good_id": "17", "good_fill": "", "good_number": 35, "good_status": "9001", "good_unit": "套", "good_format": "", "good_column": "100902", "wholesaler_dis_price": 255, "dealer_dis_price": 265, "tourist_price": 0, "good_name": "绚彩活性棉提花四件套", "wholesaler_price": 0, "good_mark": "床单270x270cm被套200x230cm枕套48x74+6cm" }, "goodflowers": [{ "flower_name": "朝花夕拾", "flower_id": "11d75c6a560a4345b232706f7642de22", "flower_image": "../../image/swiper.jpg", "good_id": "17", "flower_identity": "" }, { "flower_name": "美丽相约", "flower_id": "3994afdb0427425d93bbba6e881601c3", "flower_image": "../../image/flower.jpg", "good_id": "17", "flower_identity": "" }, { "flower_name": "清水佳人", "flower_id": "3ebc1032eb5d477b9e2bf508918f3d2b", "flower_image": "../../image/swiper.jpg", "good_id": "17", "flower_identity": "" }, { "flower_name": "意境幽蓝", "flower_id": "425cc030c0574344a62be9674c854ee6", "flower_image": "../../image/swiper.jpg", "good_id": "17", "flower_identity": "" }, { "flower_name": "出水芙蓉", "flower_id": "4ea02d08e2464ba681e4861451a7a2f7", "flower_image": "../../image/flower.jpg", "good_id": "17", "flower_identity": "" }, { "flower_name": "国色天香", "flower_id": "5501ed259aa6476eafff940e9cf16e5a", "flower_image": "../../image/swiper.jpg", "good_id": "17", "flower_identity": "" }, { "flower_name": "春日畅想", "flower_id": "85d540c79c244e40bb88744cdd1aa5ce", "flower_image": "../../image/swiper.jpg", "good_id": "17", "flower_identity": "" }, { "flower_name": "花叶细雨", "flower_id": "877e01699f30449ebf99bfe689711159", "flower_image": "../../image/flower.jpg", "good_id": "17", "flower_identity": "" }, { "flower_name": "琪花摇曳", "flower_id": "979e579413ea467fb363a1c85f36f092", "flower_image": "../../image/swiper.jpg", "good_id": "17", "flower_identity": "" }, { "flower_name": "絮语飘香", "flower_id": "ba7ef47a8fec4ec192d958d3c400bf7b", "flower_image": "../../image/flower.jpg", "good_id": "17", "flower_identity": "" }, { "flower_name": "凝香雨露", "flower_id": "d24fa5772f754cfbb6650df587167c2f", "flower_image": "../../image/swiper.jpg", "good_id": "17", "flower_identity": "" }, { "flower_name": "花开柔情", "flower_id": "dbd7f42a97c04c0aa1bc24b27d2546d3", "flower_image": "../../image/swiper.jpg", "good_id": "17", "flower_identity": "" }, { "flower_name": "幻彩花园", "flower_id": "eff884ebeb7c42008f38a58785818031", "flower_image": "../../image/flower.jpg", "good_id": "17", "flower_identity": "" }], "roleType": "2", "isAdmin": true },

    good: {//商品

    },
    mainImg: '',//主图
    goodPrice: 99.99,//商品价格
    goodOrinPrice: 999.99,
    goodflowers: [


    ],
    imgUrls: [//轮播图

    ],
    chooseFlowers: [//选中的花色

    ],
    indicatorDots: true,
    autoplay: true,
    interval: 5000,
    duration: 1000,
    flowerImgSelect: '',//选中的花色图片
    flowerNameSelect: "",//
    flowerSelect: 0,//判断是否选中
    isHidden: 0,
    animationData: {},//选择动画
    showModalStatus: false,//显示遮罩
    goodNum: 1,//商品数量
    select: 0,//商品详情、参数切换
  },
  /**
 * 生命周期函数--监听页面加载
 */
  onLoad: function (options) {
    var that = this;
    if (wx.showLoading) {
      wx.showLoading({
        title: '加载中',
      })
    }

    var data = that.data.orinGoodMsg;//写死的商品信息





    var goodBaseMsg = data.good;//商品基本信息
    var goodflowersMsg = data.goodflowers;//商品花色信息
    var swiperAy = [];//伦比途

    var goodPrice = 999.99;//显示价格
    var goodOrinPrice = 999.99;//划线价格


    for (var i = 0; i < goodflowersMsg.length; i++) {
      var jo = {
        flower_image: goodflowersMsg[i].flower_image,
        flower_id: goodflowersMsg[i].flower_id,
      }

      swiperAy.push(jo);
    };
    that.setData({//商品
      mainImg: goodBaseMsg.good_display_img,
      flowerImgSelect: goodBaseMsg.good_display_img,
      good: goodBaseMsg,
      goodflowers: goodflowersMsg,
      imgUrls: swiperAy,
      goodPrice: goodPrice,
      goodOrinPrice: goodOrinPrice,

    });
    if (wx.hideLoading()) {
      wx.hideLoading()
    }





  },
  /**选择花色 */
  chooseFlower: function (data) {
    var that = this;
    var flower_id = data.currentTarget.dataset.select;
    var flower_name = data.currentTarget.dataset.flowerName;

    that.setData({//把选中值,放入判断值中
      flowerNameSelect: flower_name,
      flowerSelect: flower_id
    })
    var str = flower_id + ',' + flower_name;
    var chooseFlowers = that.data.chooseFlowers;
    chooseFlowers = [];
    chooseFlowers.push(str);
    that.setData({
      chooseFlowers: chooseFlowers,
      flowerImgSelect: data.currentTarget.dataset.img
    })


  },
  /**点击选择花色按钮、显示页面 */
  viewFlowerArea: function (data) {
    var that = this;
    var animation = wx.createAnimation({//动画
      duration: 500,//动画持续时间
      timingFunction: 'linear',//动画的效果 动画从头到尾的速度是相同的
    })
    animation.translateY(0).step()//在Y轴偏移tx,单位px

    this.animation = animation
    that.setData({
      showModalStatus: true,//显示遮罩       
      animationData: animation.export()
    })
    that.setData({//把选中值,放入判断值中
      isHidden: 1,
    })
  },
  /**隐藏选择花色区块 */
  hideModal: function (data) {

    var that = this;
    that.setData({//把选中值,放入判断值中
      showModalStatus: false,//显示遮罩       
      isHidden: 0,
    })

  },
  goodAdd: function (data) {

    var that = this;
    var goodCount = that.data.goodNum + 1;
    that.setData({//商品数量+1
      goodNum: goodCount
    })

  },
  goodReduce: function (data) {

    var that = this;
    var goodCount = that.data.goodNum - 1;
    that.setData({//商品数量+1
      goodNum: goodCount
    })

  },
  /**商品详情、参数切换 */
  changeArea: function (data) {
    var that = this;
    var area = data.currentTarget.dataset.area;
    that.setData({ "select": area });

  },
  /**
 * 加入购物车
 */
  addCart: function (data) {
    var that = this;
    var thatData = that.data;
    var ja = thatData.chooseFlowers;//选中的花色id
    var good_id = thatData.good.good_id;//good_id
    var good_name = thatData.good.good_name;//good_name
    var gn = thatData.goodNum;//数量
    var good_price = thatData.goodPrice;//价格



    if (ja.length > 0) {
      wx.showToast({
        title: '成功!',
        duration: 2000,
      })

    } else {
      wx.showToast({
        title: '您还没有选择花色哦~',
        duration: 2000,
      })
    }



  },
  /**
   * 生成订单
   */
  saveOrder: function (data) {
    var that = this;
    var thatData = that.data;
    var ja = thatData.chooseFlowers;//选中的花色
    var good_id = thatData.good.good_id;//good_id
    var good_name = thatData.good.good_name;//good_name
    var gn = thatData.goodNum;//数量
    var good_price = thatData.goodPrice;//价格v
    var goodDisplayImg = thatData.mainImg;//主图

    if (ja.length > 0) {

      wx.showToast({
        title: '成功!',
        duration: 2000,
      })
    } else {
      wx.showToast({
        title: '您还没有选择花色哦~',
        duration: 2000,

      })

    }




  },
  /**
   * 查看轮播图片
   */
  seeSwiperAll: function (e) {
    this.seePreviewImg(0, e.currentTarget.dataset.img)
  },
  /**
* 查看花色图片 
* */
  seeFlowersAll: function (e) {
    this.seePreviewImg(1, e.currentTarget.dataset.img)
  },
  /**
   * 预览图片
   * 
   * 无法显示本地图片!!!!!!!
   * 无法显示本地图片!!!!!!!
   * 无法显示本地图片!!!!!!!
   * 
   * @pd 0表示轮播图 、 1表示花色
   */
  seePreviewImg: function (pd, showImg) {
    var array = [];
    var that = this;
    if (pd == 0) {
      var imgArray = that.data.imgUrls;
      for (var i = 0; i < imgArray.length; i++) {
        array.push(imgArray[i].flower_image)
      }
    } else if (pd == 1) {
      var imgArray = that.data.imgArray;
      for (var i = 0; i < imgArray.length; i++) {
        array.push(imgArray[i].url)
      }
    }

    wx.previewImage({
      current: showImg, // 当前显示图片的http链接
      urls: array // 需要预览的图片http链接列表
    })
  },
})

wxss



.width50{
  width:50% !important;
}
.width100{
  width:100%
}
.fl{
  float: left;
}
.fr{
  float: right;
}

.display-flex-row{
  display:flex;
  flex-direction:row;
}
.display-flex-column{
  display:flex;
  flex-direction:column;
}
.display-ib{
  display:inline-block !important;
}
.display-block{
  display:block !important;
}
.display-none{
  display: none !important;
}

.bg_fff{
  background-color: #ffffff;

}
.bg_ff0036{
  background-color:#ff0036;/**红**/ 
}
.bg_ff6700{
background-color:#ff6700;/**橘**/
}
.bg_09bb07{
  background-color: #09bb07;/**绿**/
}
.bg_888{
  background-color: #888888;/**灰**/
}



.color_ff6700{
  color:#ff6700;
}
.color_888888{
  color:#888888;
}



.swiper_area,.swiper_area swiper{
  height: 400rpx;
}
.swiper-item{
  display: block;
}
.slide-image {
  width: 100%;
}
swiper {
  width: 100%;
}
.goods_title {
  color: #535353;
  padding: 20rpx 20rpx 10rpx 20rpx;
  line-height: 1.2;
  font-weight: bold;
}
.good_description{
  font-size: 0.7em;
  padding:0 20rpx;
  color: #b0b0b0;
}
.goods_infor_top {
  background-color: #FFF;
  margin-bottom:20rpx;
}
.good_info_bottom{
  justify-content:space-between;
  padding:20rpx 20rpx;
}
.good_dis_price {  
  color: #ff6700;
  font-weight: bold;
}
.good_info_bottom .good_orin_price {
  font-size: 0.7em;
  margin-left: 10rpx;
  text-decoration: line-through;
  color: #b0b0b0;
}
.good_info_bottom .good_sale_count {
  font-size: 0.7em;

}

.admin_good_price{
  padding:20rpx;
}
.admin_good_price .admin_price_box{
  justify-content: space-between;
}
.admin_good_price .admin_orin_price{
  font-size: 0.8em
} 

.goods_deliver {
  padding: 10px;
  border-top: 1px solid #E5E5E5;
  color: #676767;
}
.goods_collect_btn {
  height: 40px;
  width: 70px;
  position: absolute;
  right: 0;
  top: 10px;
  border-left: 1px solid #E5E5E5;
  text-align: center;
  font-size: 12px;
  line-height: 14px;
}
.goods_collect_img {
  width: 24px;
  height: 24px;
}

.choose_catalog_area{
  font-size:0.9em;
  justify-content:space-between;
  padding:20rpx;
  margin-bottom:20rpx;
  height:60rpx;
  line-height: 60rpx;
}
.choose_catalog_area .arrow_right{
  margin-top:14rpx;
  width:30rpx;
  height:30rpx;
}

.commodity_screen{
  background-color:rgba(0,0,0,0.5);
  width: 100%;
  height: 100%;
  opacity:0.5;
  position: fixed;
  z-index: 666;
  bottom:0;  
}

.catalog_area{
  min-height: 900rpx;
  max-height: 900rpx;
  padding:20rpx;
  position: fixed;
  z-index: 888;
  bottom:0;
}

.catalog_area .info_tip{
  margin-top:50rpx;
  margin-left: 220rpx;
}
.catalog_area .catalog_title{
  position: fixed;
  top: 0;
  width: 710rpx;
  height: 160rpx;
  border-bottom:1px solid #e5e5e5;
  padding-bottom: 20rpx;
}
.catalog_area .catalog_title .thumbnails{
  width: 200rpx;
  height:200rpx;
  position: absolute;
  top:-40rpx;
  border:#b0b0b0;
}
.catalog_area .catalog_title .cancel{
  width: 40rpx;
  height:40rpx;
  position: absolute;
  top:20rpx;
  right:0;
}
.catalog_area  .choosed_catalog{
  font-size: 0.8em;
}
.catalog_area .info_choose{
  width:710rpx;

}
.catalog_area .info_choose .catalog_name{
  padding:10rpx 0;
  font-weight: bold;
}

.catalog_area .info_choose .catalog_name_desc{
  margin-top:10rpx !important;
}

.catalog_area .info_choose .borderTop{
  margin-top:25rpx;
  border-top:1px solid #e5e5e5;
}
.catalog_area .info_choose .catalog_items{
  font-size: 0.8em;
  flex-wrap:wrap;
}
.catalog_area .info_choose .catalog_items .catalog_item{
  padding:15rpx;
  border:1px dashed #b0b0b0;
  margin-top:15rpx;
  margin-right: 20rpx;
}
.catalog_area .info_choose .catalog_items .active{
  border:1px solid #ff6700;
  color:#ff6700 !important;
}


.catalog_area .catalog_count{
  justify-content:space-between;
  height:100rpx;
  line-height: 100rpx;
}
.catalog_area .catalog_count .catalog_name{
  font-weight: bold;
  padding:12.5rpx 0 0 0;
}
.catalog_area .catalog_count .count_control{
  margin-top:20rpx;
  height:80rpx;
}

.catalog_area .btn_area{
  width: 100%;
  margin:0 -20rpx;
  position: fixed;
  bottom: 0;
}

.catalog_area .item_btn {
    display: inline-block;
    width: 80rpx;
    height: 80rpx;
    text-align: center;
    line-height: 80rpx;
    border: 2rpx solid #b0b0b0;  

}

.catalog_area .item_num {
    display: inline-block;
    width: 80rpx;
    height: 80rpx;
    text-align: center;
    line-height: 80rpx;
    border-top: 2rpx solid #b0b0b0;
    border-bottom: 2rpx solid #b0b0b0;
    font-size: 28rpx;
    color: #929292;
}



.tab{

  width:710rpx; 
  padding:0 20rpx;
  height: 80rpx;
  line-height: 80rpx;

}

.tab .tab-content{
  display:flex;
  flex-direction:row;
  justify-content:space-between;
}
.container {
  margin-top:25rpx;
}

.tab .btn{
  width:353rpx;
  color: #888888;
  text-align: center;
  border-bottom:2rpx solid #f5f5f5; 
}
.tab .right_btn{
   border-right:2rpx solid #f5f5f5; 
}
.tab .left_btn{
   border-left:2rpx solid #f5f5f5; 
}
.tab .active{
  color: #ff6700 !important;  
  border-bottom:4rpx solid #ff6700 !important; 
}

.goods_infor_pre {
  margin-top: 20rpx;
  background-color: #FFF;
  padding: 10px;
  min-height: 40px;
}
.goods_infor_txt {
  position: relative;
  padding-left: 50px;
  font-size: 13px;
  line-height: 18px;
}
.goods_infor_brand {
  position: absolute;
  width: 40px;
  height: 40px;
  background-image: url(../../image/brand.png);
  background-size: 40px 40px;
  background-repeat: no-repeat;
  background-position: center;
  left: 0px;
  top: 10px;
}
.goods_infor_raw {
  margin-top: 20rpx;
  background-color: #FFF;
  padding: 10px;
}
.goods_infor_item {
  font-size: 13px;
  line-height: 18px; 
}
.goods_infor_item text  {
  display: inline-block;
  width: 90px;
}
.goods_detail {
  padding: 0 10px;
  margin-top: 20rpx;
  background-color: #FFF;
}
.goods_detail_title {
  padding: 10px 0;
  font-size: 14px;
}
.goods_bottom {
  height: 50px;
}
.goods_bottom_btn {
  width: 100%;
  position: fixed;
  bottom: 0;
  height: 50px;
  z-index: 99;
  background-color: #FFF;
  border-top: 1px solid #E5E5E5;
}
.goods_one {
  width:50%;
  height: 50px;
}
.goods_half_half {
  width:50%;
  height: 50px;
  font-size: 12px;
  line-height: 50px;
  text-align: center;
  color: #FFF;
}

.goods_car_num {
  width: 30px;
  height: 30px;
  margin: 0 auto;
  margin-top: 10px;
  font-size: 10px;
  background-image: url(../../image/car1.png);
  background-size: 26px;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
.goods_car_num span {
  position: absolute;
  right: -5px;
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 14px;
  background-color: #FF0000;
  color: #FFF;
  text-align: center;
  line-height: 14px;
}
微信小程序商品详情页交互源码(选择商品类型切换、预览商品图片)_微信小程序 表单设计源码支持预览 /写死的商品信息//商品基本信息//商品花色信息//伦比途//显示价格//划线价格i++) {var jo = {that.setData({//商品});},/**选择花色 */that.setData({//把选中值,放入判断值中})})},/**点击选择花色按钮、显示页面 */var animation = wx.createAnimation({//动画。 阅读详情

相关推荐

微信小程序--图片相关问题合辑

图片上传相关文章 微信小程序多张图片上传功能 微信小程序开发(二)图片上传 微信小程序上传一或多张图片 微信小程序实现选择图片九宫格带预览 ETL:微信小程序之图片上传 微信小程序wx.previewImage预览图片 微信小程序之预览图片 小程序开发:上传图片到腾讯云 .NET开发微信小程序-上传图片到服务器 微信小程序本地图片处理--

Dreawer微信小程序联盟 3006

微信小程序css鼠标上去变色,微信小程序实现默认第一个选中变色效果

效果图:这里默认第一个选中 点击每个不会改变样式 根据index来实现wxml:页面class有三目运算{{item.num}}wxss:_left 蓝色 left 黑色.box{width: 100%;height: auto;border-top: 1px solid #efefef;}.box-container{width:90;display: flex;height: 100rpx;a...

weixin_34587189的博客 2733

微信小程序黑马优购总结:

⾸先拿到项⽬后做好项⽬搭建 (1)搭建之前⾸先要分析整个项⽬的剧本组成是否有源码或者是效果图(⿊马优购有源码和效果图 和请求的接⼝⽂档) (2)在源码或者效果图上分析页⾯的组成以及效果的展⽰页⾯跳转等 (3)在以上准备⼯作完成之后就要利⽤微信开发者⼯具进⾏开发 1.⾸先打开项⽬⽂件找到app.json中创建该项⽬需要的⽂件 2.在app.json中配置底部导航实现底部基本页⾯的跳转 3.底部tabbar配好路由可以跳不同的页⾯ 4.接着就可以写⾸页的布局以及功能的实现(index页面首页) ...

weixin_69844928的博客 3898

微信小程序顶部导航栏点击选项产生颜色变化和底部下划线显示

在很多程序中都有一个功能,就是顶部导航栏点击的时候能自动切换页面,并且选中的模块会变换颜色并且底部出现一条横线。 首先思考这个功能的实现原理——通过“点击”这个动作,我们能知道点击的是哪一个模块,那这个模块一定有一个自己的唯一的信息,将这个唯一信息绑定一个特定页面,就能实现对应页面的跳转。而关于颜色的变换,本质上是模块样式的改变,所以一定是在wxss里面进行改变。所谓的改变,不是真的去修改原来样式的值,而是建立一种判断,当模块被点击时(获取到的唯一信息成立时),将这个模块对应到另一种样式设计,所以对一

Oblivision_Geek的博客 7146

微信小程序 - 实现导航栏标签点击切换并变色

微信小程序中,导航栏标签是常见的组件之一,它通常用于切换页面或者显示不同的内容。在本文中,我将为您介绍如何实现点击导航栏标签切换并改变颜色的功能。通过以上的代码,我们就可以实现点击导航栏标签切换并变色的功能了。当用户点击不同的标签时,当前选中的标签会改变并变色,对应的页面内容也会随之切换。为了实现点击标签切换的功能,我们需要在小程序的逻辑部分编写相应的事件处理函数。首先,我们需要在小程序的页面中添加一个导航栏组件,可以使用。为了让选中的标签变色,我们可以在样式文件(通常是。的值,从而实现页面的切换。

TiCrystal的博客 1340

微信小程序 - 详细实现图片动态切换评价评分功能,用户打分使用图标代替星星评分,支持GIF动态图作为表情评价,类似电商平台满意度调查好评中评差评、满意一般非常不满意场景,解决图标切换闪烁点击闪一下问题

微信小程序,vue2,vue3,表情评价,图标评分,闪烁,切换的时候闪一下,解决办法,评价,图片图像,表情满意度调查,星星评价,动态图片切换式评价功能,详细示例代码,解决图片切换时闪烁,点击图标动态切换,笑脸评分,icon笑脸哭脸评价,切换icon图标,表情图片,满意度调查评价功能,表情图片打分评分组件,两张图片切换时就会闪一下再加载出来,切换图片的时候很卡怎么办,美团的表情评分,gif动态图,小程序表情打分效果,满意度选择功能,商品评价功能,表情评分组件,怎么用图片当评分功能,表情图片选择的评分,一组图片

🏆 前端领域优质创作者 3084

uni-app实现小程序、H5图片轮播预览、双指缩放、双击放大、单击还原、滑动切换功能

小程序的swiper阻止切换没有实现,同时该组件在小程序端明显卡段,动画不流畅,也没有native那种回弹的效果,跟产品商量了一下也对比了一下决定做个实验,小程序端直接用uni.previewImageAPI,毕竟用户就是想放大看看图片,没必要做那么多嵌套,动画流畅,体验敢强最重要;至于关闭定位索引和在弹框slot别的内容这些暂时在小程序端先不做;

一个女胖子的博客 4941

微信小程序 - 满意度调查评价功能,表情图片打分评分组件(非星星评分组件,类似抖音商品满意度好评、中评、差评评价功能)代码干净整洁注释详细无 BUG,无任何第三方插件依赖,完整功能实例源码插件

微信小程序,vue2,vue3,表情评价,图标评分,表情图片打分评分组件,两张图片切换时就会闪一下再加载出来,切换图片的时候很卡怎么办,美团的表情评分,gif动态图,小程序表情打分效果,满意度选择功能,商品评价功能,表情评分组件,怎么用图片当评分功能,表情图片选择的评分,闪烁,切换的时候闪一下,解决办法,评价,图片图像,表情满意度调查,星星评价,动态图片切换式评价功能,详细示例代码,解决图片切换时闪烁,点击图标动态切换,笑脸评分,icon笑脸哭脸评价,切换icon图标,表情图片,满意度调查评价功能,五角星,

🏆 前端领域优质创作者 6095

微信产品详情php源码,微信小程序商城开发之动态API实现商品的详情页的代码(上)...

本篇文章给大家带来的内容是关于微信小程序商城开发之动态API实现商品的详情页的代码(上) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。看效果开发计划1、实现商品详情页面布局(这篇实现3个模块,头部商品图片轮播、商品价格和商品描述、商品详情展示)2、根据用户点击不同的商品请求API动态加载数据根据商品ID获取商品详情API数据模型访问:https://100boot.cn/ 选择...

weixin_42512842的博客 458

京东UI风格微信小程序完整源码,含首页轮播、分类导航、购物车及商品详情页

直接导入微信开发者工具就能运行的京东视觉风格小程序源码,包含首页(带自动轮播图、图标导航栏、商品瀑布流推荐)、分类页(支持一级/二级类目展开)、商品列表页、商品详情页(图文混排+规格选择)、购物车页(增删改查+结算逻辑)、个人中心页。所有页面严格遵循京东App的色彩体系、字体大小、间距规范和交互反馈样式,配套资源齐全:home-hl.png/category-hl.png等高亮图标、jd1.jpg~jd5.jpg主视觉图、ad-0.jpg~ad-right.jpg广告位图、quick1.jpg~quick6

gold的博客 219

单页式机械商品展示微信小程序源码实战项目

回头看这几年的技术演进,我们会发现一个规律:越封闭的平台,越需要强大的工程化支撑。小程序看似受限,但正因为这种限制,迫使开发者思考如何更好地组织代码、管理状态、优化性能。而这正是现代前端工程的核心所在。所以,别再说“小程序技术含量低”了。能把一个小而美的产品做到极致,本身就是一种高级能力 💪希望这篇文章能帮你跳出“切页面+调接口”的初级模式,真正掌握构建高质量小程序的方法论。下一次,我们可以聊聊云开发一体化架构或者小程序自动化测试方案,你觉得怎么样?😉。

weixin_30978239的博客 358

微信小程序(原生)使用Swiper实现(商品详情)视频和图片轮播(仿京东/淘宝商品详情头部视频+图片轮播)

微信小程序(原生)使用Swiper实现(商品详情)视频和图片轮播(仿京东/淘宝商品详情头部视频+图片轮播)

wocwin的博客 2545

微信小程序商城源码构建与实战

微信小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。小程序也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。微信小程序以轻量级、易于访问的特性,在移动互联网领域迅速获得了市场的青睐。它作为连接线上线下的重要工具,正成为企业数字化转型中不可或缺的一部分。开发者可以利用小程序快速搭建应用,并通过微信生态获取用户,快速实现业务的增长和品牌的传播。

weixin_42509720的博客 1226

用ColorUI在1小时内打造产品高保真原型

通过这次实践,我发现ColorUI组件库在快速原型设计中的优势非常明显。它不仅提供了丰富的UI组件,还支持高度自定义,可以灵活应对各种设计需求。配合微信小程序的开发工具,整个原型的开发过程非常流畅,从零开始到完成高保真原型,确实可以在1小时内完成。如果你也在寻找快速原型设计的解决方案,不妨试试InsCode(快马)平台。它提供了便捷的开发环境,无需复杂的配置,一键部署即可展示你的作品。实际操作中,我发现它的响应速度非常快,界面也很友好,特别适合快速验证产品想法。

CrystalwaveEagle34的博客 843

图片拼图微信小程序源码下载|支持多模板制作与流量主变现

图片拼图微信小程序基于微信原生框架(WXML + WXSS + JavaScript)构建,采用模块化设计思想,将功能划分为图像处理、模板管理、用户交互与广告变现四大核心模块。通过Canvas实现图像裁剪与合成,结合JSON配置驱动多模板动态渲染,形成高内聚、低耦合的前端架构体系。

weixin_33562004的博客 1166

鼠标移动变色代码

鼠标移动变色代码

微信小程序仿小米商城项目实战:从零部署到功能测试完整指南

微信小程序作为一种轻量级应用框架,其核心原理是基于JavaScript、WXML和WXSS构建跨平台应用,通过微信客户端提供的原生能力实现丰富的交互体验。在电商领域,小程序凭借其即用即走的特性,成为连接用户与商品的重要技术载体,尤其适合商品展示、购物车管理和订单处理等高频场景。本文聚焦于一个仿小米商城的实战项目,该项目完整实现了电商核心功能模块,并提供了可运行的源码与数据库脚本。通过解析其前后端分离架构与数据交互机制,开发者可以深入理解如何将小程序原生框架与MySQL数据库结合,快速搭建具备商品展示、购物车

weixin_30861459的博客 533

【强化学习】常用算法之一 “A3C”

A3C(Asynchronous Advantage Actor-Critic)算法是一种在强化学习领域中应用广泛的算法,它结合了策略梯度方法和价值函数的学习,用于近似解决马尔可夫决策过程(Markov Decision Process)问题。A3C算法在近年来备受关注,因为它在处理大规模连续动作空间和高维状态空间方面具有出色的性能。A3C算法是一种基于策略梯度的强化学习算法,通过多个并行的智能体异步地与环境交互,并利用Actor和Critic网络实现策略和价值的近似,从而实现快速而稳定的强化学习训练。

Code_and516的博客 6756
上一篇: 微信小程序,使用scroll-view实现下拉加载更多(下一页)源码
下一篇: Struts2文件下载小例子
Qssn丶
博客等级 码龄11年 88粉丝 113原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值