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

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

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

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

背景

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

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

誤區(qū):

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

什么時(shí)候存在滾動(dòng)條?

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

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

Why scrollTop==0?

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

如何判斷頁(yè)面的滾動(dòng)條是哪個(gè)div產(chǎn)生的?

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

場(chǎng)景1:如何刪除body的滾動(dòng)條,保留某個(gè)div的滾動(dòng)條

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

場(chǎng)景2:documentElement.scrollTop或者document.body.scrollTop 一直為0的情況

產(chǎn)生根本原因還是因?yàn)榻o沒有scrollTop的元素設(shè)定了該值,直接原因是因?yàn)闉g覽器兼容問題。

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

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

    webpack4打包vue前端多頁(yè)面項(xiàng)目

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論