vue監(jiān)聽(tīng)滾動(dòng)事件切換列表和監(jiān)聽(tīng)onresize事件

vue監(jiān)聽(tīng)鼠標(biāo)滾動(dòng)事件

<script>
    export default {
        name: "home",
        data(){
            return{
                scrollIndex: 0, // 滾動(dòng)的當(dāng)前下標(biāo)
                currentAsideIndex: 0, // 當(dāng)前側(cè)邊欄下標(biāo)
            }
        },
        mounted () {
             //監(jiān)聽(tīng)鼠標(biāo)滾動(dòng)事件,兼容chrome 随闺、ie 和 firefox
            window.addEventListener('mousewheel',     this.debounce(this.handleScroll,300), true)||window.addEventListener("DOMMouseScroll",this.debounce(this.handleScroll,300),false)
        },
    },
        methods:{
            // 側(cè)邊欄切換
            setActiveItem (index) {
                  // 此處是引用elementUI的走馬燈組件實(shí)現(xiàn)列表切換
                  this.$refs.carousel.setActiveItem(index)
                  this.currentAsideIndex = index
                  this.scrollIndex = index
        },
            //函數(shù)防抖
            debounce(func, wait) {
                let timeout;
                return function () {
                    let context = this;
                    let args = arguments;
                    if (timeout) clearTimeout(timeout);
                    timeout = setTimeout(() => {
                        func.apply(context, args)
                    }, wait);
                }
            },
            //判斷滾動(dòng)方向
           handleScroll (e) {
                let direction = e.deltaY > 0 ? 'down' : 'up'
                if (this.scrollIndex === 0) {
                      direction === 'down' ? this.scrollIndex++ : this.scrollIndex = 0
                } else if (this.scrollIndex === this.navList.length - 1) {
                      direction === 'down' ? this.scrollIndex = (this.navList.length - 1) :   this.scrollIndex--
               } else {
                    direction === 'down' ? this.scrollIndex++ : this.scrollIndex--
              }
              this.setActiveItem(this.scrollIndex)
           }                    
        }
</script>

vue監(jiān)聽(tīng)onresize事件

  • 需求:
    (1)頁(yè)面部分元素的尺寸需要根據(jù)實(shí)際打開(kāi)時(shí)瀏覽器尺寸進(jìn)行設(shè)置焙蹭;
    (2)頁(yè)面打開(kāi)后冰寻,調(diào)節(jié)瀏覽器窗口大小時(shí)需要?jiǎng)討B(tài)調(diào)節(jié)部分元素的尺寸;
    window.onresize只能在項(xiàng)目中一處進(jìn)行引用觸發(fā),如果在多個(gè)地方進(jìn)行引用觸發(fā)剃毒,會(huì)導(dǎo)致只有1個(gè)觸發(fā)事件生效。
    解決“多個(gè)組件都需要觸發(fā)”的方案只能是通過(guò)一個(gè)地方觸發(fā)后通過(guò)組件間通信進(jìn)行觸發(fā)搂赋。
<div class="box" :style="{height:screenHeight}"></div>

data () {
    return {
      screenHeight: '', // 頁(yè)面內(nèi)部的動(dòng)態(tài)高度
    }
},
mounted(){
    // 監(jiān)聽(tīng)瀏覽器窗口縮放事件
    this.screenHeight = (document.body.clientHeight - 100) + 'px'
    window.onresize = () => {
      return (() => {
        this.screenHeight = (document.body.clientHeight - 100) + 'px'
      })()
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末赘阀,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子脑奠,更是在濱河造成了極大的恐慌基公,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宋欺,死亡現(xiàn)場(chǎng)離奇詭異轰豆,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)齿诞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門酸休,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人祷杈,你說(shuō)我怎么就攤上這事斑司。” “怎么了但汞?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵宿刮,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我特占,道長(zhǎng)糙置,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任是目,我火速辦了婚禮谤饭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘懊纳。我一直安慰自己揉抵,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布嗤疯。 她就那樣靜靜地躺著冤今,像睡著了一般。 火紅的嫁衣襯著肌膚如雪茂缚。 梳的紋絲不亂的頭發(fā)上戏罢,一...
    開(kāi)封第一講書(shū)人閱讀 52,785評(píng)論 1 314
  • 那天屋谭,我揣著相機(jī)與錄音,去河邊找鬼龟糕。 笑死桐磁,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的讲岁。 我是一名探鬼主播我擂,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼缓艳!你這毒婦竟也來(lái)了校摩?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤阶淘,失蹤者是張志新(化名)和其女友劉穎衙吩,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體舶治,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡分井,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了霉猛。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尺锚。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖惜浅,靈堂內(nèi)的尸體忽然破棺而出瘫辩,到底是詐尸還是另有隱情,我是刑警寧澤坛悉,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布伐厌,位于F島的核電站,受9級(jí)特大地震影響裸影,放射性物質(zhì)發(fā)生泄漏挣轨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一轩猩、第九天 我趴在偏房一處隱蔽的房頂上張望卷扮。 院中可真熱鬧,春花似錦均践、人聲如沸晤锹。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鞭铆。三九已至,卻和暖如春焦影,著一層夾襖步出監(jiān)牢的瞬間车遂,已是汗流浹背封断。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留艰额,地道東北人澄港。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像柄沮,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子废岂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • ??JavaScript 與 HTML 之間的交互是通過(guò)事件實(shí)現(xiàn)的湖苞。 ??事件拯欧,就是文檔或?yàn)g覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,503評(píng)論 1 11
  • 一、 組件component 1. 什么是組件财骨? 組件(Component)是 Vue.js 最強(qiáng)大的功能之一镐作。組...
    饑人谷_Leonardo閱讀 1,981評(píng)論 0 18
  • 因新工作主要負(fù)責(zé)微信小程序這一塊,最近的重心就移到這一塊隆箩,該博客是對(duì)微信小程序整體的整理歸納以及標(biāo)明一些細(xì)節(jié)點(diǎn)该贾,初...
    majun00閱讀 7,348評(píng)論 0 9
  • 本文章是我最近在公司的一場(chǎng)內(nèi)部分享的內(nèi)容。我有個(gè)習(xí)慣就是每次分享都會(huì)先將要分享的內(nèi)容寫成文章捌臊。所以這個(gè)文集也是用來(lái)...
    Awey閱讀 9,452評(píng)論 4 67
  • Vue官方文檔以下內(nèi)容作為本人日常學(xué)習(xí)使用杨蛋,不作為參考 一、Vue環(huán)境搭建以及vue-cli的使用 Vue多頁(yè)面應(yīng)...
    好一只帥鹵蛋閱讀 753評(píng)論 0 1