diff --git a/public/react/src/modules/tpm/shixunchild/Challenges/Challenges.js b/public/react/src/modules/tpm/shixunchild/Challenges/Challenges.js index 548e7224a..b1340c0de 100644 --- a/public/react/src/modules/tpm/shixunchild/Challenges/Challenges.js +++ b/public/react/src/modules/tpm/shixunchild/Challenges/Challenges.js @@ -59,7 +59,7 @@ class Challenges extends Component { isopentitletype:"Less", }) } - + this.getjianjiesize() } } }).catch((error) => { @@ -67,31 +67,54 @@ class Challenges extends Component { }); } + getjianjiesize=()=>{ + let {ChallengesDataList}=this.state; + let boxoffsetHeigh; + let box=document.getElementById("shixunchallengesid"); + + if(box){ + boxoffsetHeigh=box.offsetHeight + if(ChallengesDataList === undefined || ChallengesDataList&&ChallengesDataList.description=== ""||ChallengesDataList&&ChallengesDataList.description===null||ChallengesDataList&&ChallengesDataList.description===undefined){ + + }else{ + if(this.state.isopentitletype==="greater"){ + + }else{ + if(boxoffsetHeigh>=300){ + this.setState({ + opentitletype:true, + isopentitletype:"greater", + boxoffsetHeigh:boxoffsetHeigh + }) + }else{ + this.setState({ + isopentitletype:"Less", + boxoffsetHeigh:boxoffsetHeigh + }) + } + } + + } + + } + } + componentDidMount() { - this.ChallengesList() + if(this.state.isopentitletype==="greater"){ + + }else { + this.ChallengesList() + } } componentDidUpdate = (prevProps,prevState) => { //防止陷入无限循环 if(prevState.ChallengesDataList!=this.state.ChallengesDataList){ - let boxoffsetHeigh; - let box=document.getElementById("shixunchallengesid"); - if(box){ - boxoffsetHeigh=box.offsetHeight - if(boxoffsetHeigh<300){ - this.setState({ - isopentitletype:"Less", - boxoffsetHeigh:boxoffsetHeigh - }) - }else{ - this.setState({ - opentitletype:true, - isopentitletype:"greater", - boxoffsetHeigh:boxoffsetHeigh - }) - } - console.log(boxoffsetHeigh) + if(this.state.isopentitletype==="greater"){ + + }else{ + this.getjianjiesize() } } @@ -333,7 +356,6 @@ class Challenges extends Component { opentitle=()=>{ this.setState({ opentitletype:!this.state.opentitletype, - }) } @@ -415,16 +437,7 @@ class Challenges extends Component { this.props.identity < 5?<a className="fr font-14 color-blue mr20" href="/forums/2943" target="_blank">实训制作指南</a> : "":""} </div> - {this.state.opentitletype===true?<style> - { - ` - #shixunchallengesid{ - max-height: 300px; - overflow: hidden; - } - ` - } - </style>:""} + <div> <div className={"pd20"} id={"shixunchallengesid"}> <style> @@ -436,6 +449,38 @@ class Challenges extends Component { ` } </style> + <style> + { + ` + .markdown-body img{ + min-height: 200px; + } + ` + } + </style> + + + {this.state.isopentitletype==="greater"&&this.state.opentitletype===true? + <style> + { + ` + #shixunchallengesid{ + max-height:260px; + overflow: hidden; + } + ` + } + </style>:""} + {ChallengesDataList === undefined || ChallengesDataList&&ChallengesDataList.description=== ""||ChallengesDataList&&ChallengesDataList.description===null||ChallengesDataList&&ChallengesDataList.description===undefined?<style> + { + ` + #shixunchallengesid{ + max-height: 300px; + overflow: hidden; + } + ` + } + </style>:""} <div className="justify break_full_word new_li " id="challenge_editorMd_description"> diff --git a/public/react/src/modules/tpm/shixunchild/Challenges/Challengesjupyter.js b/public/react/src/modules/tpm/shixunchild/Challenges/Challengesjupyter.js index e04ad17c9..6ed139bc4 100644 --- a/public/react/src/modules/tpm/shixunchild/Challenges/Challengesjupyter.js +++ b/public/react/src/modules/tpm/shixunchild/Challenges/Challengesjupyter.js @@ -53,27 +53,47 @@ class Challengesjupyter extends Component { //console.log(error) }); } + + + getjianjiesize=()=>{ + let {ChallengesDataList}=this.state; + let boxoffsetHeigh; + let box=document.getElementById("shixunchallengesid"); + + if(box){ + boxoffsetHeigh=box.offsetHeight + if(ChallengesDataList === undefined || ChallengesDataList&&ChallengesDataList.description=== ""||ChallengesDataList&&ChallengesDataList.description===null||ChallengesDataList&&ChallengesDataList.description===undefined){ + + }else{ + if(this.state.isopentitletype==="greater"){ + + }else{ + if(boxoffsetHeigh>=300){ + this.setState({ + opentitletype:true, + isopentitletype:"greater", + boxoffsetHeigh:boxoffsetHeigh + }) + }else{ + this.setState({ + isopentitletype:"Less", + boxoffsetHeigh:boxoffsetHeigh + }) + } + } + + } + + } + } componentDidUpdate = (prevProps,prevState) => { //防止陷入无限循环 if(prevState.ChallengesDataList!=this.state.ChallengesDataList){ - let boxoffsetHeigh; - let box=document.getElementById("shixunchallengesid"); - if(box){ - boxoffsetHeigh=box.offsetHeight - if(boxoffsetHeigh<300){ - this.setState({ - isopentitletype:"Less", - boxoffsetHeigh:boxoffsetHeigh - }) - }else{ - this.setState({ - isopentitletype:"greater", - opentitletype:true, - boxoffsetHeigh:boxoffsetHeigh - }) - } + if(this.state.isopentitletype==="greater"){ + }else{ + this.getjianjiesize() } } @@ -122,6 +142,8 @@ class Challengesjupyter extends Component { }, 600) }); + + this.getjianjiesize() } updatamakedowns = () => { @@ -233,18 +255,30 @@ class Challengesjupyter extends Component { </a> </Tooltip> </div> - {this.state.opentitletype===true?<style> - { - ` + + <div> + + {this.state.isopentitletype==="greater"&&this.state.opentitletype===true? + <style> + { + ` + #shixunchallengesid{ + max-height:260px; + overflow: hidden; + } + ` + } + </style>:""} + {ChallengesDataList === undefined || ChallengesDataList&&ChallengesDataList.description=== ""||ChallengesDataList&&ChallengesDataList.description===null||ChallengesDataList&&ChallengesDataList.description===undefined?<style> + { + ` #shixunchallengesid{ max-height: 300px; overflow: hidden; } ` - } - </style>:""} - <div> - + } + </style>:""} <div className={"pd20"} id={"shixunchallengesid"}> <p id="ReactMarkdown" style={{overflow:'hidden'}}> {/*{ChallengesDataList === undefined ? "" :ChallengesDataList&&ChallengesDataList.description===null?"":*/}