elementUI中的Backtop回到頂部

基礎用法

滑動頁面即可看到右下方的按鈕浆竭。

<template>

? <el-backtop target=".page-component__scroll .el-scrollbar__wrap"></el-backtop>

</template>

自定義顯示內容

顯示區(qū)域被固定為 40px * 40px 的區(qū)域, 其中的內容可支持自定義系宜。

<template>

? Scroll down to see the bottom-right button.

? <el-backtop target=".page-component__scroll .el-scrollbar__wrap" :bottom="100">

? ? <div

? ? ? style="{

? ? ? ? height: 100%;

? ? ? ? width: 100%;

? ? ? ? background-color: #f2f5f6;

? ? ? ? box-shadow: 0 0 6px rgba(0,0,0, .12);

? ? ? ? text-align: center;

? ? ? ? line-height: 40px;

? ? ? ? color: #1989fa;

? ? ? }"

? ? >

? ? ? UP

? ? </div>

? </el-backtop>

</template>


三竟稳、el-backtop組件源碼

<template>

? <transition name="el-fade-in">

? ? <div

? ? ? v-if="visible"

? ? ? @click.stop="handleClick"

? ? ? :style="{

? ? ? ? 'right': styleRight,

? ? ? ? 'bottom': styleBottom

? ? ? }"

? ? ? class="el-backtop">

? ? ? <slot>

? ? ? ? <el-icon name="caret-top"></el-icon>

? ? ? </slot>

? ? </div>

? </transition>

</template>

<script>

import throttle from 'throttle-debounce/throttle';

export default {

? name: 'ElBacktop',

? props: {

? ? visibilityHeight: {

? ? ? type: Number,

? ? ? default: 200

? ? },

? ? target: [String],

? ? right: {

? ? ? type: Number,

? ? ? default: 40

? ? },

? ? bottom: {

? ? ? type: Number,

? ? ? default: 40

? ? }

? },

? data() {

? ? return {

? ? ? el: null,

? ? ? container: null,

? ? ? visible: false

? ? };

? },

? computed: {

? ? styleBottom() {

? ? ? return `${this.bottom}px`;

? ? },

? ? styleRight() {

? ? ? return `${this.right}px`;

? ? }

? },

? mounted() {

? ? this.init();

? ? this.throttledScrollHandler = throttle(300, this.onScroll);

? ? this.container.addEventListener('scroll', this.throttledScrollHandler);

? },

? methods: {

? ? init() {

? ? ? this.container = document;

? ? ? this.el = document.documentElement;

? ? ? if (this.target) {

? ? ? ? this.el = document.querySelector(this.target);

? ? ? ? if (!this.el) {

? ? ? ? ? throw new Error(`target is not existed: ${this.target}`);

? ? ? ? }

? ? ? ? this.container = this.el;

? ? ? }

? ? },

? ? onScroll() {

? ? ? const scrollTop = this.el.scrollTop;

? ? ? this.visible = scrollTop >= this.visibilityHeight;

? ? },

? ? handleClick(e) {

? ? ? this.scrollToTop();

? ? ? this.$emit('click', e);

? ? },

? ? scrollToTop() {

? ? ? let el = this.el;

? ? ? let step = 0;

? ? ? let interval = setInterval(() => {

? ? ? ? if (el.scrollTop <= 0) {

? ? ? ? ? clearInterval(interval);

? ? ? ? ? return;

? ? ? ? }

? ? ? ? step += 10;

? ? ? ? el.scrollTop -= step;

? ? ? }, 20);

? ? }

? },

? beforeDestroy() {

? ? this.container.removeEventListener('scroll', this.throttledScrollHandler);

? }

};

</script>

組件的幾個參數:

visibility-height:滾動高度達到此參數值才出現(xiàn)玻褪,默認200,是number類型(使用如:visibility-height="100")

target:觸發(fā)滾動的對象敛瓷,是String類型河哑,你可以不傳

right:控制其顯示位置, 距離頁面右邊距,默認40风皿,是number類型河爹,數值越大,離右邊越遠桐款。

bottom:控制其顯示位置, 距離頁面底部距離咸这。默認40,是number類型魔眨,你可以調整他的值媳维,越大離底部越遠。

四遏暴、思路

當你看完backtop的組件源碼后侄刽,你是否會有所領悟呢?他的組件參數都有默認值拓挥,這意思就是唠梨,我們可以什么都不傳袋励,調用這個組件即可使用侥啤。

<el-backtop></el-backtop>

是的,你沒看錯茬故,把上面那段代碼Copy到你的代碼中盖灸,即可使用。記得把代碼放在最外層的div里的第一個磺芭,不要放在尾部赁炎。

<div style="width: 100%;height: 100%;">

? <el-backtop :bottom="60"></el-backtop>

<div>

原文鏈接:https://blog.csdn.net/qq348843576/article/details/103261602

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市钾腺,隨后出現(xiàn)的幾起案子徙垫,更是在濱河造成了極大的恐慌,老刑警劉巖放棒,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姻报,死亡現(xiàn)場離奇詭異,居然都是意外死亡间螟,警方通過查閱死者的電腦和手機吴旋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門损肛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人荣瑟,你說我怎么就攤上這事治拿。” “怎么了笆焰?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵劫谅,是天一觀的道長。 經常有香客問我嚷掠,道長同波,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任叠国,我火速辦了婚禮未檩,結果婚禮上,老公的妹妹穿的比我還像新娘粟焊。我一直安慰自己冤狡,他們只是感情好,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布项棠。 她就那樣靜靜地躺著悲雳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪香追。 梳的紋絲不亂的頭發(fā)上合瓢,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機與錄音透典,去河邊找鬼晴楔。 笑死,一個胖子當著我的面吹牛峭咒,可吹牛的內容都是我干的税弃。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼凑队,長吁一口氣:“原來是場噩夢啊……” “哼则果!你這毒婦竟也來了?” 一聲冷哼從身側響起漩氨,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤西壮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后叫惊,有當地人在樹林里發(fā)現(xiàn)了一具尸體款青,經...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年赋访,在試婚紗的時候發(fā)現(xiàn)自己被綠了可都。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缓待。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖渠牲,靈堂內的尸體忽然破棺而出旋炒,到底是詐尸還是另有隱情,我是刑警寧澤签杈,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布瘫镇,位于F島的核電站,受9級特大地震影響答姥,放射性物質發(fā)生泄漏铣除。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一鹦付、第九天 我趴在偏房一處隱蔽的房頂上張望尚粘。 院中可真熱鬧,春花似錦敲长、人聲如沸郎嫁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽落恼。三九已至祸憋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間井赌,已是汗流浹背壕曼。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工琳拨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留月褥,地道東北人弛随。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像吓坚,于是被迫代替她去往敵國和親撵幽。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內容