js判断元素是否在可视区域里

js部分:

//监听滚动条滑动距离
            $(window).on('scroll', function(){
                var scrollTop = $(document).scrollTop()
                var lines = $('.el_line')
                if (scrollTop >= 380){
                    $('.el_topNav').css('opacity',1)
                } else {
                    $('.el_topNav').css('opacity',0)
                }

                for (var i = 0; i < lines.length; i++) {
                    var tops = $(lines[i]).offset().top - 84 // 循环出每个盒子到顶部的距离 84是我分割线的宽度 根据个人情况而定
                    var line_height = $('.el_commodity>ul').eq(i).outerHeight()// 循环出每个盒子的高度
                     /*如果当前滚动的距离大于或者等于当前盒子到达顶部的距离 且
                      *小于当前盒子到达顶部距离 与 当前盒子高度的和
                      *那么当前盒子就处于可视范围内
                      * */
                    if ( scrollTop >= tops && screenTop < (tops + line_height)) {
                        $('.el_topNav>div').eq(i).addClass('el_active').siblings().removeClass('el_active') //添加某一个样式  i为当前盒子下标
                    }
                }
            })

原文地址:https://www.cnblogs.com/yzyh/p/9029140.html

时间: 2024-11-06 09:45:36

js判断元素是否在可视区域里的相关文章

判断元素是否在可视区域内

如果页面有头部置顶和底部置底的元素,需要自行进行计算: scrollTop  +   头部置顶元素高度 screenHeight - (置顶和置底元素的高度) //元素距离页面顶部的距离 var eleTop = $("#ele").offset().top; //元素本身的高度 var eleHeight = $("#ele").height(); //页面滚动的距离 var scrollTop = $(window).scrollTop(); //可视区域高度

js 判断元素(例如div)里的数据显示不全(数据长度大于元素长度)

//判断div里元素是否超出长度,true 超出,false 没有 dom=document.getElementById('id');function isEllipsis(dom) {    var checkDom = dom.cloneNode(), parent, flag;     checkDom.style.width = dom.offsetWidth + 'px';    checkDom.style.height = dom.offsetHeight + 'px';   

js判断元素是否是disable状态

js判断元素是否是disable状态 jquery判断元素状态用$(select).prop(属性值) == true js判断button是否可以点击: //判断button是否为不可点击状态 if($("#buyButton").prop("disabled") == true){} //判断button是否为不可点击状态 if($("#buyButton").prop('disabled') != true){} /** * 购买按钮失效

javascript判断某种元素是否进入可视区域

判断是否在指定的可视区域内,先用最简单的方式,比如整个页面为可视区域 找到几个关键因素: sTop= $(window).scrollTop();  //滚动条距顶部的高度 clientHeight= document.documentElement.clientHeight; //可视区域的高度 pos =  = $("#pointinfo_" + markers[i].id).offset().top;    //指定的元素上方距顶部的高度 pos1  = $("#poi

判断页面元素是否进入可视区域

近日要做一个页面功能,需要检测某个页面元素是否位于当前屏幕中的可视区域,首先想到的当然是获取offsetLeft和offsetTop,将这个值分别与body.scrollTop/scrollLeft进行比较,得出元素是否可视. 这次查资料时偶然看到了getBoundingClientRect():该方法获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置,他返回的是一个对象,即Object,该对象有是个属性:top,left,right,bottom:这里的top.left和css中的理解

Js - 判断元素是否隐藏、显示

判断元素是否隐藏.显示的方法,需要的朋友可以参考下 : 1.通过判断元素display属性状态值来实现 console.log($('div').css("display"));       // inlineif($('div').css("display") != 'none') { console.log('aaaaa');       // aaaaa $('div').hide();         console.log($('div').css(&qu

js 判断元素是否在列表中

判断元素是否在列表中 isInArray()判断输入的数值是否在数组中: /** * 使用循环的方式判断一个元素是否存在于一个数组中 * @param {Object} arr 数组 * @param {Object} value 元素值 */ function isInArray(arr,value){ for(var i = 0; i < arr.length; i++){ if(value === arr[i]){ return true; } } return false; } 使用:

JS代码片段:判断一个元素是否进入可视区域

// Determine if an element is in the visible viewport function isInViewport(element) { var rect = element.getBoundingClientRect(); var html = document.documentElement; //在IE中,默认坐标从(2,2)开始计算,导致最终距离比其他浏览器多出两个像素,我们需要做个兼容. var top = document.documentElem

JS判断元素是否在数组内

一.jQuery 如果是用JQuery的话,可以用inArray()函数: jquery inarray()函数详解jquery.inarray(value,array)确定第一个参数在数组中的位置(如果没有找到则返回 -1 ). determine the index of the first parameter in the array (-1 if not found).返回值jquery参数value (any) : 用于在数组中查找是否存在array (array) : 待处理数组.