国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

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

這篇具有很好參考價值的文章主要介紹了vue頁面設(shè)置滾動失敗的解決方案(scrollTop一直為0)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

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)層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也蒙了"

vue頁面設(shè)置滾動失敗的解決方案(scrollTop一直為0)
如何判斷頁面的滾動條是哪個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è)定了該值,直接原因是因為瀏覽器兼容問題。

document.documentElement.scrollTop || document.body.scrollTop || window.pageYOffset
場景三:去掉元素的滾動條,保留滾動功能

我的這篇博客中有寫:

去掉滾動條,保留滾動功能https://blog.csdn.net/weixin_64530670/article/details/132162424文章來源地址http://www.zghlxwxcb.cn/news/detail-442991.html

到了這里,關(guān)于vue頁面設(shè)置滾動失敗的解決方案(scrollTop一直為0)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • vue項目切換頁面白屏的解決方案

    問題描述 1、頁面切換后白屏,同時切換回上一個頁面同樣白屏 2、刷新后正常顯示 3、有警告: Component inside Transition renders non-element root node that cannot be animated 解決方法 Transition中的組件呈現(xiàn)不能動畫化的非元素根節(jié)點 也就是說,組件內(nèi)必須有一個根元素 之前: 現(xiàn)在: ?原來

    2024年02月08日
    瀏覽(19)
  • word橫向頁面?zhèn)让骓摯a設(shè)置及轉(zhuǎn)pdf后橫線變豎線的解決方案

    word橫向頁面?zhèn)让骓摯a設(shè)置及轉(zhuǎn)pdf后橫線變豎線的解決方案

    ? ? ? ?在處理材料的時候,會遇到同一個文檔里自某一頁開始,頁面布局是橫向的,這時候頁碼要設(shè)置在側(cè)面,方法是雙擊頁腳,然后在word工具欄上選擇 “插入”——“文本框”——“繪制豎版文本框” ,然后在頁面左側(cè)繪制一個文本框,如下圖: ? ? ? ?繪制完之后,

    2024年02月13日
    瀏覽(70)
  • Vue路由模式(history模式 刷新頁面空白解決方案)

    Vue路由模式(history模式 刷新頁面空白解決方案)

    vue路由的三種模式 Hash模式 、 History模式 、 abstract 模式 Vue3: Hash 模式是用 createWebHashHistory() 創(chuàng)建的: Vue2 它在內(nèi)部傳遞的實際 URL 之前使用了一個哈希字符(#)。由于這部分 URL 從未被發(fā)送到服務(wù)器,所以它不需要在服務(wù)器層面上進(jìn)行任何特殊處理。不過,它在 SEO 中確實有

    2024年02月12日
    瀏覽(34)
  • Vue2嵌入HTML頁面空白、互相傳參、延遲加載等問題解決方案

    Vue2嵌入HTML頁面空白、互相傳參、延遲加載等問題解決方案

    一、需求分析 ? ? ? 最近做的一個用H5加原生開發(fā)的html項目,現(xiàn)需要集成到Vue2.0項目里面來。遇到的相關(guān)問題做個記錄和總結(jié),以便能幫到大家避免踩坑。 二、問題記錄 1、頁面空白問題 ? ? ?將html頁面通過iframe的方式嵌入進(jìn)來之后,發(fā)現(xiàn)頁面是空白的,不顯示任何元素,

    2024年02月13日
    瀏覽(32)
  • Vue 打包 chunk-vendors.js 文件過大導(dǎo)致頁面加載緩慢解決方案

    前言 顧名思義, chunk-vendors.js 是捆綁所有不是自己的模塊,而是來自其他方的模塊的捆綁包,它們稱為第三方模塊或供應(yīng)商模塊。 通常,它意味著(僅和)來自項目 /node_modules 目錄的所有模塊,會將所有 /node_modules 中的第三方包打包到 chunk-vendors.js 中。 將所有的第三方包集

    2024年02月16日
    瀏覽(29)
  • 一個滾動框高度動態(tài)計算解決方案

    需求描述,一個嵌套了很多層div或者其他標(biāo)簽的內(nèi)容框,而它的外層沒有設(shè)置高度,或者使用百分比,而本容器需要設(shè)置高度來實現(xiàn)滾動,要么寫死px高度,但是不能自適應(yīng),此時需要一個直系父容器(該容器要動態(tài)計算高度)包裹,這里的解決方法是,設(shè)計一個高階方法,

    2024年02月11日
    瀏覽(15)
  • uni-app彈窗列表滾動, 彈框下面的內(nèi)容也跟隨滾動解決方案

    uni-app彈窗列表滾動, 彈框下面的內(nèi)容也跟隨滾動解決方案

    滑動彈窗里的列表,彈框下面的內(nèi)容也會跟著滑動,導(dǎo)致彈窗中的列表不能正常滾動 1.彈窗組件代碼,需要在最外層的view中加入@touchmove.stop.prevent=\\\"moveHandle\\\",且彈窗中需要滾動的列表要使用scroll-view標(biāo)簽包裹起來,且scroll-y 屬性不能忘記加。 ?

    2024年02月12日
    瀏覽(98)
  • Keepalived 啟動失敗解決方案

    Keepalived 啟動失敗解決方案

    啟動Keepalived服務(wù)時發(fā)現(xiàn)啟動失敗,于是查看了日志 (/var/log/messages)如圖所示 ? 這條信息--WARNING - interface eth0 for vrrp_instance VI_1 doesn\\\'t exist 說明我們的網(wǎng)卡配置沒對上號,本虛擬機(jī)的網(wǎng)卡配置文件是ens33,不匹配,所以要去修改配置文件? /etc/kkepalived/keepalived.conf 又發(fā)現(xiàn) 配置

    2024年02月13日
    瀏覽(27)
  • mongodb本地連接失敗解決方案

    mongodb本地連接失敗解決方案

    啟動項目時,本地連接mongodb失敗 這個是本地服務(wù)沒有啟動 其實我也挺奇怪,我明明設(shè)置的是自動啟動 db作為數(shù)據(jù)庫目錄 log作為mongodb的服務(wù)日志目錄 mongod --dbpath …/data/db 使用第二個方案相當(dāng)于新建了一個數(shù)據(jù)的存儲位置,以前鏈接的數(shù)據(jù)庫都沒有了。 所以,如果想鏈接以

    2024年02月15日
    瀏覽(21)
  • vscode遠(yuǎn)程連接失敗解決方案

    vscode遠(yuǎn)程連接失敗解決方案

    1、在vscode SSH擴(kuò)展設(shè)置中配置config文件的絕對位置,?該文件一般位于.ssh文件夾中( C:Users你的用戶名.sshconfig ?) 2、刪除known_hosts文件,該文件一般和config配置文件一樣在.ssh文件夾中( C:Users你的用戶名.sshknown_hosts ?) ?3、若刪除了該文件之后仍然連接失敗,嘗試在命

    2024年02月09日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包