Rumah hujung hadapan web uni-app Bagaimana untuk mendapatkan ketinggian elemen dalam uniapp

Bagaimana untuk mendapatkan ketinggian elemen dalam uniapp

Apr 20, 2023 pm 03:05 PM

Dalam proses membangunkan projek menggunakan uniapp, kita selalunya perlu mendapatkan ketinggian elemen untuk melaksanakan operasi dan reka letak yang sepadan, seperti mengira ketinggian item senarai secara dinamik, menetapkan ketinggian minimum komponen, dsb. Jadi, bagaimana untuk mendapatkan ketinggian elemen dalam uniapp?

Kaedah 1: uni.createComponent()

Dalam uniapp, gunakan uni.createComponent() untuk mencipta komponen tersuai secara dinamik. Dalam komponen tersuai, kita boleh menggunakan kaedah uni.createSelectorQuery() dalam fungsi kitaran hayat komponen tersuai untuk mendapatkan maklumat nod elemen, termasuk ketinggian, lebar, dsb. elemen.

Ambil mendapatkan ketinggian elemen div sebagai contoh:

Dalam fungsi kitaran hayat yang dicipta bagi komponen tersuai, anda boleh menggunakan kaedah uni.createSelectorQuery() untuk mendapatkan maklumat elemen . Kod khusus adalah seperti berikut:

<template>
  <div class="component">
    <div class="content" ref="content">
      我是一个自定义组件
    </div>
  </div>
</template>

<script>
  export default {
    created () {
      // 获取元素的信息
      uni.createSelectorQuery().in(this).select('.content').boundingClientRect((rect) => {
        console.log('元素高度为:' + rect.height)
      }).exec()
    }
  }
</script>

<style>
  .component {
    width: 100%;
    height: 100%;
  }
  
  .content {
    width: 100px;
    height: 100px;
    background-color: red;
  }
</style>
Salin selepas log masuk

Dalam kod di atas, ref digunakan untuk mendapatkan rujukan elemen div, dan kemudian kaedah uni.createSelectorQuery() digunakan dalam kitaran hayat yang dicipta. berfungsi untuk menanyakan maklumat elemen. Antaranya, pilih('.content') bermaksud untuk menanyakan elemen yang kelasnya adalah kandungan, dan kaedah boundingClientRect() bermaksud untuk menanyakan maklumat saiz elemen Rect yang dikembalikan dalam fungsi panggil balik ialah objek yang mengandungi kedudukan, saiz dan maklumat lain unsur.

Kaedah 2: uni.pageScrollTo()

Dalam sesetengah kes, kita perlu mendapatkan ketinggian elemen pada halaman, yang boleh dicapai menggunakan kaedah uni.pageScrollTo(). Kod khusus adalah seperti berikut:

<template>
  <div class="component">
    <div class="content" ref="content">
      我是一个自定义组件
    </div>
  </div>
</template>

<script>
  export default {
    mounted () {
      // 获取页面中元素的高度
      uni.pageScrollTo({
        selector: '.content',
        success: (res) => {
          console.log('元素高度为:' + res[0].top)
        }
      })
    }
  }
</script>

<style>
  .component {
    width: 100%;
    height: 100%;
  }
  
  .content {
    width: 100px;
    height: 100px;
    background-color: red;
  }
</style>
Salin selepas log masuk

Dalam kod di atas, fungsi kitaran hayat yang dipasang digunakan dan kaedah uni.pageScrollTo() digunakan selepas pemaparan halaman selesai. pemilih: '.content' bermaksud menanyakan elemen dengan kandungan kelas Res dalam fungsi panggil balik kejayaan boleh mendapatkan maklumat elemen, dengan res[0].top bermaksud jarak antara elemen dan bahagian atas halaman.

Ringkasan:

Dua kaedah di atas, yang pertama sesuai untuk mendapatkan ketinggian elemen dalam komponen tersuai, dan yang kedua sesuai untuk mendapatkan ketinggian elemen pada halaman. Kedua-duanya mempunyai kelebihan dan kekurangan masing-masing, dan anda boleh memilih mengikut senario tertentu. Tidak kira kaedah mana yang digunakan, anda perlu memberi perhatian untuk menambah fungsi panggil balik maklumat saiz dalam fungsi atau kaedah kitaran hayat yang sepadan untuk mendapatkan ketinggian dan maklumat lain elemen tersebut.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan ketinggian elemen dalam uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah saya menggunakan preprocessors (sass, kurang) dengan uni-app? Bagaimanakah saya menggunakan preprocessors (sass, kurang) dengan uni-app? Mar 18, 2025 pm 12:20 PM

Artikel membincangkan menggunakan SASS dan kurang preprocessors dalam UNI-APP, memperincikan persediaan, faedah, dan penggunaan dwi. Fokus utama adalah pada konfigurasi dan kelebihan. [159 aksara]

Bagaimana saya menggunakan API Animasi Uni-App? Bagaimana saya menggunakan API Animasi Uni-App? Mar 18, 2025 pm 12:21 PM

Artikel ini menerangkan cara menggunakan API Animasi Uni-App, memperincikan langkah-langkah untuk membuat dan menggunakan animasi, fungsi utama, dan kaedah untuk menggabungkan dan mengawal masa animasi.

Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Mar 27, 2025 pm 04:59 PM

Artikel ini membincangkan pelbagai jenis ujian untuk aplikasi UNIAPP, termasuk unit, integrasi, fungsional, UI/UX, prestasi, silang platform, dan ujian keselamatan. Ia juga meliputi memastikan keserasian silang platform dan mengesyorkan alat seperti JES

Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Mar 27, 2025 pm 05:05 PM

Artikel ini membincangkan alat penyahpepijatan dan amalan terbaik untuk pembangunan UNIPP, yang memberi tumpuan kepada alat seperti HBuildex, WeChat Developer Tools, dan Chrome Devtools.

Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Mar 27, 2025 pm 04:45 PM

Artikel ini membincangkan strategi untuk mengurangkan saiz pakej UNIAPP, memberi tumpuan kepada pengoptimuman kod, pengurusan sumber, dan teknik seperti pemisahan kod dan pemuatan malas.

Bagaimana saya menggunakan API Penyimpanan Uni-App (uni.setstorage, uni.getstorage)? Bagaimana saya menggunakan API Penyimpanan Uni-App (uni.setstorage, uni.getstorage)? Mar 18, 2025 pm 12:22 PM

Artikel ini menerangkan cara menggunakan API penyimpanan Uni-App (uni.setstorage, uni.getstorage) untuk pengurusan data tempatan, membincangkan amalan terbaik, penyelesaian masalah, dan menyoroti batasan dan pertimbangan untuk kegunaan yang berkesan.

Bagaimanakah saya menggunakan API Uni-App untuk mengakses ciri peranti (kamera, geolokasi, dll)? Bagaimanakah saya menggunakan API Uni-App untuk mengakses ciri peranti (kamera, geolokasi, dll)? Mar 18, 2025 pm 12:06 PM

Artikel ini membincangkan menggunakan API UNI-APP untuk mengakses ciri peranti seperti kamera dan geolokasi, termasuk tetapan kebenaran dan pengendalian ralat.

Bagaimana saya mengesahkan input pengguna di uni-app? Bagaimana saya mengesahkan input pengguna di uni-app? Mar 18, 2025 pm 12:17 PM

Artikel ini membincangkan mengesahkan input pengguna dalam UNI-APP menggunakan JavaScript dan mengikat data, menekankan kedua-dua klien dan pengesahan sisi pelayan untuk integriti data. Plugin seperti Uni-Validate disyorkan untuk pengesahan borang.

See all articles