clientHeight獲取屏幕可視化高度


此時你設置后會發現屏幕的高度出現滾動條
那是因為body有8個外邊距 設置margin:0就可以解決

watch可以區監聽data中的數據,只要data中的數據發生變化 就可以執行watch中的函數了
watch也可以區調用methods中的方法

 

  <style>
     #box{
      background: #000;
     }
     body{
      margin: 0;
     }
  </style>

 

<body>
  <div id="app">
     <div id="box" ref="fullheight">
     
     </div>
   </div>
</body>

 

<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script>
    new Vue({

      el: '#app',
        data() {
          return {
             clientHeight:"",     
          };
        },

        mounted(){
          this.clientHeight=`${document.documentElement.clientHeight}`;//獲取屏幕可視化的高度;
          // console.log(this.clientHeight);//798px
          
          window.onresize = function temp() { //屏幕大小發生改變觸發 window.onresize
            this.clientHeight = `${document.documentElement.clientHeight}`;
            // console.log("sf",this.clientHeight)
          };
        },

        watch: {
          // 如果 `clientHeight` 它是data中的值發生改變,這個函數就會運行
          clientHeight: function () {
            this.changeFixed(this.clientHeight);//去調用methods中的函數
          }
        },

        methods:{
          changeFixed(clientHeight){                        //動態修改樣式
            console.log(clientHeight);
            this.$refs.fullheight.style.height = clientHeight+'px';
          },
        }
    })
  </script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM