亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

javascript - 如何判斷元素當前處于可視區域內

瀏覽:98日期:2023-02-12 09:29:23

問題描述

如題,就是我現在有一排橫向排版的li,橫向可以自由滑動,當某個li處于當前可視區域內,就改變它的一些樣式,這樣的效果該怎么寫?

望各位大神幫忙解答。。。。。。。

問題解答

回答1:

借鑒:http://runjs.cn/code/yq5arlrf

回答2:

element.getBoundingClientRect()

返回值是一個 DOMRect 對象,這個對象是由該元素的 getClientRects() 方法返回的一組矩形的集合, 即:是與該元素相關的CSS 邊框集合 。

DOMRect 對象包含了一組用于描述邊框的只讀屬性——left、top、right和bottom,單位為像素。除了 width 和 height 外的屬性都是相對于視口的左上角位置而言的。

回答3:

為什么一定要在可視區域才改變樣式,這樣做豈不是很麻煩。不如所有的都添加樣式,反正在非可是區域,什么樣的樣式有什么關系?!

回答4:

javascript - 如何判斷元素當前處于可視區域內

標注1所指向的上部紫色矩形為內容列表已經滑動的距離標注2指向的紅色區域是可視區域標注3指向的是黃點也就是你要操作的對象距離內容列表頂部的距離當1+2-50=3的時候說明黃點已經進入可視區域50px了

以上是思路,下面是我項目中的代碼,這個思路可以實現懶加載

<ul class='img-list'> <li><img src='http://www.aoyou183.cn/wenda/img/blank.png' data-url=’img/Chrysanthemum.jpg’></li> <li><img src='http://www.aoyou183.cn/wenda/img/blank.png' data-url=’img/Desert.jpg’></li> <li><img src='http://www.aoyou183.cn/wenda/img/blank.png' data-url=’img/Jellyfish.jpg’></li> <li><img src='http://www.aoyou183.cn/wenda/img/blank.png' data-url=’img/Tulips.jpg’></li> <li><img src='http://www.aoyou183.cn/wenda/img/blank.png' data-url=’img/Penguins.jpg’></li> <li><img src='http://www.aoyou183.cn/wenda/img/blank.png' data-url=’img/Lighthouse.jpg’></li> <li><img src='http://www.aoyou183.cn/wenda/img/blank.png' data-url=’img/Koala.jpg’></li> <li><img src='http://www.aoyou183.cn/wenda/img/blank.png' data-url=’img/04.jpg’></li> <li><img src='http://www.aoyou183.cn/wenda/img/blank.png' data-url=’img/0img1.jpg’></li> <li><img src='http://www.aoyou183.cn/wenda/img/blank.png' data-url=’img/0img2.jpg’></li> <li><img src='http://www.aoyou183.cn/wenda/img/blank.png' data-url=’img/354350.jpg’></li> <li><img src='http://www.aoyou183.cn/wenda/img/blank.png' data-url=’img/aa.png’></li> <li><img src='http://www.aoyou183.cn/wenda/img/blank.png' data-url=’img/bj.jpg’></li> <li><img src='http://www.aoyou183.cn/wenda/img/blank.png' data-url=’img/dd.png’></li></ul>

var timer,n=0;function lazyLoad(tagsName,tagsAttribute,oldUrl){ var tagsObj=document.getElementsByTagName(tagsName);//獲取對象 var seeHeight=document.documentElement.clientHeight;//獲取可視區域高度 var scrollTop=document.documentElement.scrollTop || document.body.scrollTop;//獲取已經滑動區域的高度 for(i=n;i<tagsObj.length;i++){if(tagsObj[i].offsetTop < seeHeight+scrollTop-100){ if(tagsObj[i].getAttribute(’src’)==oldUrl){tagsObj[i].src=tagsObj[i].getAttribute(tagsAttribute); } n=n+1;} }}lazyLoad(’img’,’data-url’,’img/blank.png’);window.addEventListener(’scroll’,function(){ clearTimeout(timer); timer=setTimeout(function(){lazyLoad(’img’,’data-url’,’img/blank.png’); }, 300);});

我的是縱向的,橫向可以使用他們的left值作為判斷依據,希望能給題主一些思路

回答5:

通過元素的visible屬性進行判斷

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产九九精品视频 | 国模沟沟一区二区三区 | 亚洲欧洲在线视频 | 国产大秀视频在线一区二区 | 欧美亚洲国产精品久久久久 | 国产九九精品视频 | 国产区精品高清在线观看 | 伊人狼人久久 | 国产亚洲精品久久久久久 | 男人j桶进女人p无遮挡动态图二三 | 2021年韩国r级理论片在线观看 | 暧暧视频在线观看免费 | 国产精品爽爽影院在线 | 国产欧美一区二区精品性色 | 国产色啪午夜免费视频 | 一级特黄色片 | 老湿机一区午夜精品免费福利 | 亚洲特级aaaaaa毛片 | 欧美精品blacked中文字幕 | 亚洲高清视频在线 | 久久免费在线视频 | 亚洲天堂高清 | 免费黄色国产视频 | 欧美日韩在线一本卡 | 中国美女bbbbbxxxxx | 91进入蜜桃臀在线播放 | 日韩精品一 | 欧美卡1卡2卡三卡网站入口 | 色综合999| 美女视频大全视频a免费九 美女视频大全美女视频黄 美女视频毛片 | 国产精品杨幂va在线观看 | 中国日本欧美韩国18 | 亚洲精品区在线播放一区二区 | 亚洲国产欧美日韩第一香蕉 | 欧美另类精品xxxx人妖换性 | 国产在线精品福利91香蕉 | 一区二区在线观看视频 | 免费视频精品 | 日本特级黄毛片毛片视频 | 黄色91| 麻豆精品在线播放 |