第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

this.imgsArrangeArr = imgsArrangeArr; 這個值好像沒改變 誰能幫我解惑

require('normalize.css/normalize.css');

require('styles/App.scss');

import React from 'react';

//獲取圖片數(shù)據(jù)

let imageDatas = require('../data/imageDatas.json');

//利用自執(zhí)行函數(shù) 把圖片名轉成圖片URL

imageDatas = (function genImageURL(imageDatasArr){

? for(var i=0;i<imageDatasArr.length;i++){

? ? let singleImageData = imageDatasArr[i];

? ? singleImageData.imageURL = require('../images/'+singleImageData.fileName);

? ? imageDatasArr[i] = singleImageData;

? }

? return imageDatasArr;

})(imageDatas);

//獲取區(qū)間內的一個隨機值

function getRangeRandom(low,high){

? return Math.ceil(Math.random() * (high-low) + low);

}

class ImgFigure extends React.Component{

? constructor(props){

? ? super(props);

? ? let styleObj = {};

? ? //如果props屬性中指定了這張圖片的位置,則使用

? ? if(this.props.arrange.pos){

? ? ? styleObj = this.props.arrange.pos;

? ? ? console.log(styleObj);

? ? }

? }

? imgClick(event) {?

? ? console.log("執(zhí)行imgClick事件");

? ? console.log(this.state);

? }

? render(){

? ? return (

? ? ? ? <figure className="img-figure"? onClick={this.imgClick} style={this.styleObj}>

? ? ? ? ? <img src={this.props.data.imageURL} alt={this.props.data.title}/>

? ? ? ? ? <figcaption>

? ? ? ? ? ? <h2 className="img-title">{this.props.data.title}</h2>

? ? ? ? ? </figcaption>

? ? ? ? </figure>

? ? ? );

? }

}



class AppComponent extends React.Component {

? constructor(){

? ? super();

? ? const Constent= {

? ? ? centerPos:{

? ? ? ? left:0,

? ? ? ? top:0

? ? ? },

? ? ? hPosRange:{//水平方向的取值范圍

? ? ? ? leftSecX:[0,0],

? ? ? ? rightSecX:[0,0],

? ? ? ? y:[0,0]

? ? ? },

? ? ? vPosRange:{//垂直方向的取值范圍

? ? ? ? x:[0,0],

? ? ? ? topY:[0,0]

? ? ? }

? ? };

? ? this.imgsArrangeArr = [

? ? ? // {

? ? ? //? ?pos:{

? ? ? //? ? ?left:'0',

? ? ? //? ? ?top:'0'

? ? ? //? ?}

? ? ? // }

? ? ];

? ? this._componentDidMount = this._componentDidMount.bind(this);

? }

? //組件加載以后,為每張圖片計算其位置的范圍

? _componentDidMount(){

? ? //首先拿到舞臺的大小

? ? let stageDom = this.refs.stage,

? ? ? ? stageW = stageDom.scrollWidth,

? ? ? ? stageH = stageDom.scrollHeight,

? ? ? ? halfStageW = Math.ceil(stageW / 2),

? ? ? ? halfStageH = Math.ceil(stageH / 2);

? ? //拿到一個imgFigure的大小 因為每個大小都一樣 只要那第一個就可以了

? ? let imgFigureDom = this.refs.imgFigures0,

? ? ? ? imgW = imgFigureDom.scrollWidth,

? ? ? ? imgH = imgFigureDom.scrollHeight,

? ? ? ? halfImgW = Math.ceil(imgW/2),

? ? ? ? halfImgH = Math.ceil(imgH/2);

? ? //計算中心圖片的位置點

? ? this.Constent.centerPos = {

? ? ? left:halfStageW-halfImgW,

? ? ? top:halfStageH-halfImgH

? ? }

? ? //計算左側,右側區(qū)域圖片排布位置點取值范圍

? ? this.Constent.hPosRange.leftSecX[0] = -halfImgW;

? ? this.Constent.hPosRange.leftSecX[1] = halfStageW - halfImgW*3;

? ? this.Constent.hPosRange.rightSecX[0] = halfStageW - halfImgW;

? ? this.Constent.hPosRange.rightSecX[1] = stageW - halfImgW;

? ? this.Constent.hPosRange.y[0] = -halfImgH;

? ? this.Constent.hPosRange.y[1] = stageH - halfImgH;

? ? //計算上側區(qū)域圖片位置點取值范圍

? ? this.Constent.vPosRange.topY[0] = -halfImgH;

? ? this.Constent.vPosRange.topY[1] = halfStageH - halfImgH*3;

? ? this.Constent.vPosRange.x[0] = halfImgW - imgW;

? ? this.Constent.vPosRange.x[1] = halfImgW;


? ? this._rearrang(0);

}

/**

?* 重新布局所有圖片

?* param centerIndex 指定居中排布哪個圖片

?*/

_rearrang(centerIndex){

? let imgsArrangeArr = this.imgsArrangeArr,

? ? ? Constent = this.Constent,

? ? ? hPosRange = Constent.hPosRange,

? ? ? vPosRange = Constent.vPosRange,

? ? ? hPosRangeLeftSecX = hPosRange.leftSecX,

? ? ? hPosRangeRightSecX = hPosRange.rightSecX,

? ? ? hPosRangeY = hPosRange.y,

? ? ? vPosRangeX = vPosRange.x,

? ? ? vPosRangeTopY = vPosRange.topY,


? ? ? imgsArrangeTopY = [],

? ? ? topImgNum = Math.ceil(Math.random() * 2),//取一個或者不取

? ? ? topImgSpliceIndex = 0,

? ? ? imgsArrangeCenterArr = imgsArrangeArr.splice(centerIndex,1);

? ? ? //首先居中 centerIndex 的圖片

? ? ? imgsArrangeCenterArr[0].pos = centerPos;

? ? ? //取出要布局上側的圖片的狀態(tài)信息

? ? ? topImgSpliceIndex = Math.ceil(Math.random() * (imgsArrangeArr.length - topImgNum));

? ? ? imgsArrangeTopArr = imgsArrangeArr.splice(topImgSpliceIndex,topImgNum);

? ? ? //布局位于上側的圖片

? ? ? imgsArrangeTopArr.forEach((value,index) => {

? ? ? ? imgsArrangeTopArr[index].pos = {

? ? ? ? ? top:getRangeRandom(vPosRangeTopY[0],vPosRangeTopY[1]),

? ? ? ? ? left:getRangeRandom(vPosRangeX[0],vPosRangeX[1])

? ? ? ? }

? ? ? });

? ? ? //布局左右兩側的圖片

? ? ? for(let i=0,j=imgsArrangeArr.length,k=j/2;i<j;i++){

? ? ? ? let hPosRangeLORX = null;

? ? ? ? //前半部分布局左邊 后半部分布局右邊

? ? ? ? if(i<k){

? ? ? ? ? hPosRangeLORX = hPosRangeLeftSecX;

? ? ? ? }

? ? ? ? else

? ? ? ? {

? ? ? ? ? hPosRangeLORX = hPosRangeRightSecX;

? ? ? ? }

? ? ? ? imgsArrangeArr[i].pos = {

? ? ? ? ? top:getRangeRandom(hPosRangeY[0],hPosRangeY[1]),

? ? ? ? ? left:getRangeRandom(hPosRangeLORX[0],hPosRangeLORX[1])

? ? ? ? };

? ? ? }

? ? if(imgsArrangeTopArr && imgsArrangeTopArr[0]){

? ? ? imgsArrangeArr.splice(topImgSpliceIndex,0,imgsArrangeTopArr[0]);

? ? }

? ? imgsArrangeArr.splice(centerIndex,0,imgsArrangeCenterArr[0]);

? ? this.imgsArrangeArr = imgsArrangeArr;

}

? render() {

? ? let controllerUnits = [],

? ? ? ? imgFigures = [];

? ? imageDatas.forEach((value,i) => {

? ? ? //如果狀態(tài)信息不存在則初始化

? ? ? if(!this.imgsArrangeArr[i]){

? ? ? ? this.imgsArrangeArr[i] = {

? ? ? ? ? pos:{

? ? ? ? ? ? left:'0',

? ? ? ? ? ? top:'0'

? ? ? ? ? }

? ? ? ? }

? ? ? }

? ? ? imgFigures.push(<ImgFigure key={i} data={value} ref={"imgFigure"+i} arrange={this.imgsArrangeArr[i]} />);

? ? });

? ? return (

? ? ? <section className="stage" ref="stage">

? ? ? ? <section className="img-sec">

? ? ? ? ? {imgFigures}

? ? ? ? </section>

? ? ? ? <nav className="control-nav">

? ? ? ? ? {controllerUnits}

? ? ? ? </nav>

? ? ? </section>

? ? );

? }

}


AppComponent.defaultProps = {

};


export default AppComponent;



{left: "0", top: "0"}? 打印出來都是0? 不知道哪里出錯了 沒報錯呀?

正在回答

1 回答


【蜘蛛俠TG@abin789】-7600
【蜘蛛俠TG@abin789】-7601
【蜘蛛俠TG@abin789】-7602
【蜘蛛俠TG@abin789】-7603
【蜘蛛俠TG@abin789】-7604
【蜘蛛俠TG@abin789】-7605
【蜘蛛俠TG@abin789】-7606
【蜘蛛俠TG@abin789】-7607
【蜘蛛俠TG@abin789】-7608
【蜘蛛俠TG@abin789】-7609
【蜘蛛俠TG@abin789】-7610
【蜘蛛俠TG@abin789】-7611
【蜘蛛俠TG@abin789】-7612
【蜘蛛俠TG@abin789】-7613
【蜘蛛俠TG@abin789】-7614
【蜘蛛俠TG@abin789】-7615
【蜘蛛俠TG@abin789】-7616
【蜘蛛俠TG@abin789】-7617
【蜘蛛俠TG@abin789】-7618
【蜘蛛俠TG@abin789】-7619
【蜘蛛俠TG@abin789】-7620
【蜘蛛俠TG@abin789】-7621
【蜘蛛俠TG@abin789】-7622
【蜘蛛俠TG@abin789】-7623
【蜘蛛俠TG@abin789】-7624
【蜘蛛俠TG@abin789】-7625
【蜘蛛俠TG@abin789】-7626
【蜘蛛俠TG@abin789】-7627
【蜘蛛俠TG@abin789】-7628
【蜘蛛俠TG@abin789】-7629
【蜘蛛俠TG@abin789】-7630
【蜘蛛俠TG@abin789】-7631
【蜘蛛俠TG@abin789】-7632
【蜘蛛俠TG@abin789】-7633
【蜘蛛俠TG@abin789】-7634
【蜘蛛俠TG@abin789】-7635
【蜘蛛俠TG@abin789】-7636
【蜘蛛俠TG@abin789】-7637
【蜘蛛俠TG@abin789】-7638
【蜘蛛俠TG@abin789】-7639
【蜘蛛俠TG@abin789】-7640
【蜘蛛俠TG@abin789】-7641
【蜘蛛俠TG@abin789】-7642
【蜘蛛俠TG@abin789】-7643
【蜘蛛俠TG@abin789】-7644
【蜘蛛俠TG@abin789】-7645
【蜘蛛俠TG@abin789】-7646
【蜘蛛俠TG@abin789】-7647
【蜘蛛俠TG@abin789】-7648
【蜘蛛俠TG@abin789】-7649
【蜘蛛俠TG@abin789】-7650
【蜘蛛俠TG@abin789】-7651
【蜘蛛俠TG@abin789】-7652
【蜘蛛俠TG@abin789】-7653
【蜘蛛俠TG@abin789】-7654
【蜘蛛俠TG@abin789】-7655
【蜘蛛俠TG@abin789】-7656
【蜘蛛俠TG@abin789】-7657
【蜘蛛俠TG@abin789】-7658
【蜘蛛俠TG@abin789】-7659
【蜘蛛俠TG@abin789】-7660
【蜘蛛俠TG@abin789】-7661
【蜘蛛俠TG@abin789】-7662
【蜘蛛俠TG@abin789】-7663
【蜘蛛俠TG@abin789】-7664
【蜘蛛俠TG@abin789】-7665
【蜘蛛俠TG@abin789】-7666
【蜘蛛俠TG@abin789】-7667
【蜘蛛俠TG@abin789】-7668
【蜘蛛俠TG@abin789】-7669
【蜘蛛俠TG@abin789】-7670
【蜘蛛俠TG@abin789】-7671
【蜘蛛俠TG@abin789】-7672
【蜘蛛俠TG@abin789】-7673
【蜘蛛俠TG@abin789】-7674
【蜘蛛俠TG@abin789】-7675
【蜘蛛俠TG@abin789】-7676
【蜘蛛俠TG@abin789】-7677
【蜘蛛俠TG@abin789】-7678
【蜘蛛俠TG@abin789】-7679
【蜘蛛俠TG@abin789】-7680
【蜘蛛俠TG@abin789】-7681
【蜘蛛俠TG@abin789】-7682
【蜘蛛俠TG@abin789】-7683
【蜘蛛俠TG@abin789】-7684
【蜘蛛俠TG@abin789】-7685
【蜘蛛俠TG@abin789】-7686
【蜘蛛俠TG@abin789】-7687
【蜘蛛俠TG@abin789】-7688
【蜘蛛俠TG@abin789】-7689
【蜘蛛俠TG@abin789】-7690
【蜘蛛俠TG@abin789】-7691
【蜘蛛俠TG@abin789】-7692
【蜘蛛俠TG@abin789】-7693
【蜘蛛俠TG@abin789】-7694
【蜘蛛俠TG@abin789】-7695
【蜘蛛俠TG@abin789】-7696
【蜘蛛俠TG@abin789】-7697
【蜘蛛俠TG@abin789】-7698
【蜘蛛俠TG@abin789】-7699
【蜘蛛俠TG@abin789】-7700
【蜘蛛俠TG@abin789】-7701
【蜘蛛俠TG@abin789】-7702
【蜘蛛俠TG@abin789】-7703
【蜘蛛俠TG@abin789】-7704
【蜘蛛俠TG@abin789】-7705
【蜘蛛俠TG@abin789】-7706
【蜘蛛俠TG@abin789】-7707
【蜘蛛俠TG@abin789】-7708
【蜘蛛俠TG@abin789】-7709
【蜘蛛俠TG@abin789】-7710
【蜘蛛俠TG@abin789】-7711
【蜘蛛俠TG@abin789】-7712
【蜘蛛俠TG@abin789】-7713
【蜘蛛俠TG@abin789】-7714
【蜘蛛俠TG@abin789】-7715
【蜘蛛俠TG@abin789】-7716
【蜘蛛俠TG@abin789】-7717
【蜘蛛俠TG@abin789】-7718
【蜘蛛俠TG@abin789】-7719
【蜘蛛俠TG@abin789】-7720
【蜘蛛俠TG@abin789】-7721
【蜘蛛俠TG@abin789】-7722
【蜘蛛俠TG@abin789】-7723
【蜘蛛俠TG@abin789】-7724
【蜘蛛俠TG@abin789】-7725
【蜘蛛俠TG@abin789】-7726
【蜘蛛俠TG@abin789】-7727
【蜘蛛俠TG@abin789】-7728
【蜘蛛俠TG@abin789】-7729
【蜘蛛俠TG@abin789】-7730
【蜘蛛俠TG@abin789】-7731
【蜘蛛俠TG@abin789】-7732
【蜘蛛俠TG@abin789】-7733
【蜘蛛俠TG@abin789】-7734
【蜘蛛俠TG@abin789】-7735
【蜘蛛俠TG@abin789】-7736
【蜘蛛俠TG@abin789】-7737
【蜘蛛俠TG@abin789】-7738
【蜘蛛俠TG@abin789】-7739
【蜘蛛俠TG@abin789】-7740
【蜘蛛俠TG@abin789】-7741
【蜘蛛俠TG@abin789】-7742
【蜘蛛俠TG@abin789】-7743
【蜘蛛俠TG@abin789】-7744
【蜘蛛俠TG@abin789】-7745
【蜘蛛俠TG@abin789】-7746
【蜘蛛俠TG@abin789】-7747
【蜘蛛俠TG@abin789】-7748
【蜘蛛俠TG@abin789】-7749
【蜘蛛俠TG@abin789】-7750
【蜘蛛俠TG@abin789】-7751
【蜘蛛俠TG@abin789】-7752
【蜘蛛俠TG@abin789】-7753
【蜘蛛俠TG@abin789】-7754
【蜘蛛俠TG@abin789】-7755
【蜘蛛俠TG@abin789】-7756
【蜘蛛俠TG@abin789】-7757
【蜘蛛俠TG@abin789】-7758
【蜘蛛俠TG@abin789】-7759
【蜘蛛俠TG@abin789】-7760
【蜘蛛俠TG@abin789】-7761
【蜘蛛俠TG@abin789】-7762
【蜘蛛俠TG@abin789】-7763
【蜘蛛俠TG@abin789】-7764
【蜘蛛俠TG@abin789】-7765
【蜘蛛俠TG@abin789】-7766
【蜘蛛俠TG@abin789】-7767
【蜘蛛俠TG@abin789】-7768
【蜘蛛俠TG@abin789】-7769
【蜘蛛俠TG@abin789】-7770
【蜘蛛俠TG@abin789】-7771
【蜘蛛俠TG@abin789】-7772
【蜘蛛俠TG@abin789】-7773
【蜘蛛俠TG@abin789】-7774
【蜘蛛俠TG@abin789】-7775
【蜘蛛俠TG@abin789】-7776
【蜘蛛俠TG@abin789】-7777
【蜘蛛俠TG@abin789】-7778
【蜘蛛俠TG@abin789】-7779
【蜘蛛俠TG@abin789】-7780
【蜘蛛俠TG@abin789】-7781
【蜘蛛俠TG@abin789】-7782
【蜘蛛俠TG@abin789】-7783
【蜘蛛俠TG@abin789】-7784
【蜘蛛俠TG@abin789】-7785
【蜘蛛俠TG@abin789】-7786
【蜘蛛俠TG@abin789】-7787
【蜘蛛俠TG@abin789】-7788
【蜘蛛俠TG@abin789】-7789
【蜘蛛俠TG@abin789】-7790
【蜘蛛俠TG@abin789】-7791
【蜘蛛俠TG@abin789】-7792
【蜘蛛俠TG@abin789】-7793
【蜘蛛俠TG@abin789】-7794
【蜘蛛俠TG@abin789】-7795
【蜘蛛俠TG@abin789】-7796
【蜘蛛俠TG@abin789】-7797
【蜘蛛俠TG@abin789】-7798
【蜘蛛俠TG@abin789】-7799

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
React實戰(zhàn)--打造畫廊應用(上)
  • 參與學習       57293    人
  • 解答問題       283    個

顛覆式前端UI開發(fā)框架 React,打造圖片畫廊實踐案講解

進入課程

this.imgsArrangeArr = imgsArrangeArr; 這個值好像沒改變 誰能幫我解惑

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號