>  기사  >  웹 프론트엔드  >  Vue에서 전체 텍스트를 읽는 방법

Vue에서 전체 텍스트를 읽는 방법

亚连
亚连원래의
2018-06-14 17:51:422889검색

아래에서는 너무 긴 기사의 전문을 클릭하여 읽을 수 있는 기능을 구현한 Vue의 예를 공유하겠습니다. 참고할 만한 가치가 있어 모두에게 도움이 되기를 바랍니다.

코드로 직접 이동하세요:

<p class="bodyFont clearfloat" id="bodyFont" ref="bodyFont" :class="{bodyHeight:contentStatus}">
  <p v-html="content"></p>
</p>
<p class="contentToggle" v-if="contentStatus" @click="contentStatus=!contentStatus">阅读全文</p>
css:

.bodyFont{
 .font-dpr(16px);
 color: #333;
 text-align: left;
 line-height:58px;
 word-break:break-all;
 word-wrap:break-word;
 padding-bottom: 30px;
 height:auto;
 overflow: hidden;
 max-height: 100%;
 p{margin:16px 0 0 0;}
 }
 .bodyHeight{
 height:5000px;
 }
 .contentToggle{
 height:60px;
 line-height:60px;
 text-align: center;
 color:@red;
 border:1px solid @red;
 border-radius: 5px;
 .font-dpr(14px);
 margin-bottom:30px;
 }
js:

data(){
 return { 
  contentStatus:false, 
  curHeight:0,
  bodyHeight:5000
 }
},
mounted(){
 setTimeout(()=>{
  this.contentToggle();
 },500)
 },
methods:{
 contentToggle(){
 this.curHeight=this.$refs.bodyFont.offsetHeight;
 if(this.curHeight>this.bodyHeight){
  this.contentStatus=true;
 }else{
  this.contentStatus=false;
 }
 },
}
효과는 다음과 같습니다:

구현 아이디어 및 포인트 참고 사항:

1. 콘텐츠의 높이를 얻으려면 DOM이 로드될 때까지 기다린 다음 실제로 얻을 수 있는지 확인하기 위해 setTimeout 함수를 추가해야 합니다. 콘텐츠의 높이가 표시하도록 설정한 높이보다 높은 경우 표시하려는 높이로만 제한하고 클래스를 추가하여 문제를 해결한 후 Overflow: Hidden에 주의하세요.

위 내용은 제가 편집한 것입니다. 여러분, 앞으로 모든 분들께 도움이 되었으면 좋겠습니다.

관련 기사:

Vue-cli에서 별도 페이지의 배경색을 설정하는 방법

vue에서 새로 고침 및 탭 전환 구현

자세한 설명 vue 프로젝트에 elementUI 구성 요소 소개

위 내용은 Vue에서 전체 텍스트를 읽는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.