欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue頁面設(shè)置滾動失敗的完美解決方案(scrollTop一直為0)

 更新時間:2023年05月13日 11:04:31   作者:IT李十三  
這篇文章主要介紹了vue頁面設(shè)置滾動失敗的解決方案(scrollTop一直為0),本文通過場景分析實例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下

vue頁面設(shè)置滾動失敗的解決方案(scrollTop一直為0)

背景

希望頁面能跳轉(zhuǎn)到 某一位置用到了scrollTop屬性??墒前l(fā)現(xiàn)給某個div設(shè)置該屬性后,一致為0。找了很多方案,但不都適合自己,或者說不知道是否適合。

怎么看我這個方法適不適合你,你可以嘗試打印滾動條的位置,頁面滾動后,再次打印滾動條的位置,如果一直為0的話,那我的的這個方法就可以解決你遇到的問題(說明你可能一直在打印窗口的滾動,而不是你真正需要控制滾動的那個元素).

誤區(qū):

并不是一股腦設(shè)置window.scrollTop就可以讓頁面滾動的,scrollTop可以用來設(shè)置滾動條位置,但是你得找對元素,在路由嵌套的vue頁面中,window可能始終是沒有滾動的,而你頁面上顯示的滾動條也只是頁面中的元素的滾動條.

什么時候存在滾動條?

頁面布局我們可以簡單理解為 div盒子套div盒子。當(dāng)內(nèi)側(cè)div盒子的高度大于外部時,外部的div就會出現(xiàn)滾動條。此時外部的div才具備scrollTop屬性,否則你無論如何設(shè)置都為0. 這里隱藏了一些條件:

外部的div一定有高度,否則外部div將和內(nèi)部div高度一致,不滿足大于條件,所以不會出現(xiàn)滾動條。 外部div的 overflow:auto。hidden的情況下超出的部分被隱藏,無法出現(xiàn)滾動條。 如果想設(shè)置滾動條屬性,一定要知道滾動條是哪個div產(chǎn)生的。

Why scrollTop==0?

總而言之,所有情況都是因為你給一個沒有滾動條的元素設(shè)置滾動條的位置。 這就涉及到一個知識點的誤區(qū): "讓頁面滾動到指定位置這個需求,不一定是讓整個window滾動,在路由嵌套的vue頁面中,window可能始終是沒有滾動的,產(chǎn)生滾動條的是一個設(shè)置了固定高度,且子元素的高度超出了他本身的元素. 這時候,元素才會產(chǎn)生滾動條,而你一股腦的給window設(shè)置滾動條位置,window也蒙了"

如何判斷頁面的滾動條是哪個div產(chǎn)生的?

滾動滾輪,看是哪一塊元素在滾動(具體到div上).設(shè)置他的父元素的滾動條位置即可讓其滾動.

場景1:如何刪除body的滾動條,保留某個div的滾動條

body{overflow:hidden;}
div{
height:xxpx;    #小于子元素的高度
overflow-y:auto;
}

場景2:documentElement.scrollTop或者document.body.scrollTop 一直為0的情況

產(chǎn)生根本原因還是因為給沒有scrollTop的元素設(shè)定了該值,直接原因是因為瀏覽器兼容問題。

場景2:documentElement.scrollTop或者document.body.scrollTop 一直為0的情況 產(chǎn)生根本原因還是因為給沒有scrollTop的元素設(shè)定了該值,直接原因是因為瀏覽器兼容問題。

document.documentElement.scrollTop || document.body.scrollTop || window.pageYOffset

1 解決方法:在上面三個元素中逐一嘗試,總有一款可以設(shè)置上。

到此這篇關(guān)于vue頁面設(shè)置滾動失敗的解決方案(scrollTop一直為0)的文章就介紹到這了,更多相關(guān)vue頁面滾動失敗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue利用指令實現(xiàn)快速設(shè)置元素的高度

    vue利用指令實現(xiàn)快速設(shè)置元素的高度

    在項目中經(jīng)常有需要將列表的高度設(shè)置成剩余可視區(qū)域的高度,本文主要來和大家介紹一下如何通過指令和css變量的方式快速設(shè)置列表高度,希望對大家有所幫助
    2024-03-03
  • vue關(guān)于點擊詳情頁面keep-alive的緩存問題

    vue關(guān)于點擊詳情頁面keep-alive的緩存問題

    這篇文章主要介紹了vue關(guān)于點擊詳情頁面keep-alive的緩存問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 在Vue項目中引入騰訊驗證碼服務(wù)的教程

    在Vue項目中引入騰訊驗證碼服務(wù)的教程

    這篇文章主要介紹了在Vue項目中引入騰訊驗證碼服務(wù)的教程,需要的朋友可以參考下
    2018-04-04
  • webpack4打包vue前端多頁面項目

    webpack4打包vue前端多頁面項目

    這篇文章主要介紹了webpack4打包vue前端多頁面項目的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • vite構(gòu)建項目并支持微前端

    vite構(gòu)建項目并支持微前端

    本文主要介紹了vite構(gòu)建項目并支持微前端,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Vue Router 實現(xiàn)動態(tài)路由和常見問題及解決方法

    Vue Router 實現(xiàn)動態(tài)路由和常見問題及解決方法

    動態(tài)路由不同于常見的靜態(tài)路由,可以根據(jù)不同的「因素」而改變站點路由列表。這篇文章主要介紹了Vue Router 實現(xiàn)動態(tài)路由和常見問題解決方案,需要的朋友可以參考下
    2020-03-03
  • 詳解vue2.0組件通信各種情況總結(jié)與實例分析

    詳解vue2.0組件通信各種情況總結(jié)與實例分析

    本篇文章主要介紹了詳解vue2.0組件通信各種情況總結(jié)與實例分析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • vue3版本網(wǎng)頁小游戲設(shè)計思路

    vue3版本網(wǎng)頁小游戲設(shè)計思路

    最近火爆全網(wǎng)的羊了個羊小程序,背景是根據(jù)官方介紹,“羊了個羊”是一款闖關(guān)消除小游戲,通關(guān)率不到0.1%。主要玩法為重疊的各類方塊,需要在下方7個欄內(nèi)完成消除,其特點就是“極難”,也因此成為熱門挑戰(zhàn),對vue3版本網(wǎng)頁小游戲設(shè)計思路感興趣的朋友跟隨小編一起看看吧
    2022-12-12
  • 在Vue中實現(xiàn)文件預(yù)覽與打印的代碼示例

    在Vue中實現(xiàn)文件預(yù)覽與打印的代碼示例

    在Vue應(yīng)用中,有時我們需要實現(xiàn)文件預(yù)覽和打印的功能,比如,我們可能需要預(yù)覽并打印PDF文件、圖片文件等,本文將介紹如何在Vue中實現(xiàn)文件預(yù)覽和打印的功能,并提供相應(yīng)的代碼示例
    2023-06-06
  • vue中el-table表格的表頭操作代碼

    vue中el-table表格的表頭操作代碼

    本文通過實例代碼介紹對el-table表格的表頭操作方法,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-03-03

最新評論