av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 如何判斷元素當(dāng)前處于可視區(qū)域內(nèi)

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

問題描述

如題,就是我現(xiàn)在有一排橫向排版的li,橫向可以自由滑動,當(dāng)某個(gè)li處于當(dāng)前可視區(qū)域內(nèi),就改變它的一些樣式,這樣的效果該怎么寫?

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

問題解答

回答1:

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

回答2:

element.getBoundingClientRect()

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

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

回答3:

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

回答4:

javascript - 如何判斷元素當(dāng)前處于可視區(qū)域內(nèi)

標(biāo)注1所指向的上部紫色矩形為內(nèi)容列表已經(jīng)滑動的距離標(biāo)注2指向的紅色區(qū)域是可視區(qū)域標(biāo)注3指向的是黃點(diǎn)也就是你要操作的對象距離內(nèi)容列表頂部的距離當(dāng)1+2-50=3的時(shí)候說明黃點(diǎn)已經(jīng)進(jìn)入可視區(qū)域50px了

以上是思路,下面是我項(xiàng)目中的代碼,這個(gè)思路可以實(shí)現(xiàn)懶加載

<ul class='img-list'> <li><img src='http://m.4tl426be.cn/wenda/img/blank.png' data-url=’img/Chrysanthemum.jpg’></li> <li><img src='http://m.4tl426be.cn/wenda/img/blank.png' data-url=’img/Desert.jpg’></li> <li><img src='http://m.4tl426be.cn/wenda/img/blank.png' data-url=’img/Jellyfish.jpg’></li> <li><img src='http://m.4tl426be.cn/wenda/img/blank.png' data-url=’img/Tulips.jpg’></li> <li><img src='http://m.4tl426be.cn/wenda/img/blank.png' data-url=’img/Penguins.jpg’></li> <li><img src='http://m.4tl426be.cn/wenda/img/blank.png' data-url=’img/Lighthouse.jpg’></li> <li><img src='http://m.4tl426be.cn/wenda/img/blank.png' data-url=’img/Koala.jpg’></li> <li><img src='http://m.4tl426be.cn/wenda/img/blank.png' data-url=’img/04.jpg’></li> <li><img src='http://m.4tl426be.cn/wenda/img/blank.png' data-url=’img/0img1.jpg’></li> <li><img src='http://m.4tl426be.cn/wenda/img/blank.png' data-url=’img/0img2.jpg’></li> <li><img src='http://m.4tl426be.cn/wenda/img/blank.png' data-url=’img/354350.jpg’></li> <li><img src='http://m.4tl426be.cn/wenda/img/blank.png' data-url=’img/aa.png’></li> <li><img src='http://m.4tl426be.cn/wenda/img/blank.png' data-url=’img/bj.jpg’></li> <li><img src='http://m.4tl426be.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;//獲取可視區(qū)域高度 var scrollTop=document.documentElement.scrollTop || document.body.scrollTop;//獲取已經(jīng)滑動區(qū)域的高度 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值作為判斷依據(jù),希望能給題主一些思路

回答5:

通過元素的visible屬性進(jìn)行判斷

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 久久国产精品视频观看 | 久久久久久久久99精品 | 久久久久久久久99 | 国产精品.xx视频.xxtv | 精品久久久久久亚洲国产800 | 黄色毛片一级 | 亚洲精品乱码久久久久v最新版 | 另类专区亚洲 | av网站在线免费观看 | 成人乱人乱一区二区三区软件 | 中文字幕一区二区三区在线观看 | 韩国av一区二区 | 午夜影院在线观看版 | 毛片区 | 国产午夜精品一区二区三区嫩草 | 国产精品国产成人国产三级 | 亚洲黄色国产 | 久久国产免费看 | 国产精品高清一区二区三区 | 国产精品视频久久久 | 欧美日韩不卡合集视频 | 国产在线精品一区二区三区 | 在线观看日韩精品视频 | 日韩精品一区二区在线 | 亚洲精品黄色 | 成人国产在线视频 | 精品久久一区二区三区 | 精品熟人一区二区三区四区 | 成人在线精品 | 欧美一区二区在线 | 国产精品久久久久久久岛一牛影视 | 精品久久亚洲 | 天天干天天操天天射 | 精品国产乱码久久久久久蜜柚 | 亚洲一区二区三区在线视频 | 1000部精品久久久久久久久 | 亚洲最新网址 | 一区二区国产精品 | 国产一区二区不卡 | 亚洲小说图片 | 成人免费看黄网站在线观看 |