Javascript jquery,滚动时在某个位置查找div类名
固定div(Javascript jquery,滚动时在某个位置查找div类名,javascript,jquery,Javascript,Jquery,固定div(fixed_div)停留在顶部,以便在其内部显示谷歌地图。然后一个大div(big\u div)留在它下面。大div中有许多小div,classsmall\u div。每个小div都有一个idsmall\u div\u n,其中n=0,1,2,3。。连续地。大div在固定div下滚动 HTML: 小div具有可变高度属性 如果我能够知道一个新的small_div已经到达固定div的下部,我可以找到小div对应的id,并且可以通过ajax调用理解固定div中要显示哪个google ma
fixed_div
)停留在顶部,以便在其内部显示谷歌地图。然后一个大div(big\u div
)留在它下面。大div中有许多小div,classsmall\u div
。每个小div都有一个idsmall\u div\u n
,其中n=0,1,2,3。。连续地。大div在固定div下滚动
HTML:
小div具有可变高度属性
如果我能够知道一个新的small_div
已经到达固定div的下部,我可以找到小div对应的id
,并且可以通过ajax调用理解固定div中要显示哪个google map
如何感觉新的小div
已到达固定div的下部
编辑:大div有一个最小高度
属性。
<script>
(function() {
var fixed = $('div.fixed_div');
$(window).on('scroll',function() {
var currentFixedDivPosition = fixed.position().top + fixed.height() + $(window).scrollTop();
var temp, whichOne;
$('div.small_div').each(function(i,s) {
var diff = Math.abs($(s).position().top - currentFixedDivPosition);
if(temp) {
if(diff < temp) {
temp = diff;
whichOne = s;
}
}else {
temp = diff;
whichOne = s;
}
});
console.log(temp, $(whichOne).attr('id') + ' was closest');
});
})();
</script>
(功能(){
固定价值=$('div.fixed_div');
$(窗口).on('scroll',function(){
var currentFixedDivPosition=fixed.position().top+fixed.height()+$(window.scrollTop();
var temp,whichOne;
$('div.small_div')。每个函数(i,s){
var diff=Math.abs($(s).position().top-currentFixedDivPosition);
如果(临时){
if(温差<温度){
温度=温差;
whichOne=s;
}
}否则{
温度=温差;
whichOne=s;
}
});
log(temp,$(whichOne).attr('id')+'是最近的');
});
})();
这里有一把小提琴:,我不确定我是否正确理解了你想要什么,但我希望这至少能给你一些开始祝你好运 希望下面的代码能够达到目的
//单击按钮时,系统将追加一个新的DIV
document.getElementById(“add”).addEventListener(“单击”,函数)(){
addDiv();
});
//一个事件监听器,它可以监听任何新添加到big_div的元素
$('big_div')。on('DOMNodeInserted',函数(e){
//这里我得到最后添加的元素的id
var newdivid=document.getElementById(“big_div”).lastChild.id;
document.getElementById(“div_status”).innerHTML=“添加了新的小div,id:”+newdivid;
});
函数addDiv(){
var smalldiv=document.createElement(“div”);
//这里我将新创建的DIV的id设置为任意随机字符串
setAttribute(“id”,Math.random().toString(36.slice(-5));
appendChild(document.createTextNode(“小div”);
document.getElementById(“big_div”).appendChild(smalldiv);
}
.fixed\u div{
位置:固定;
高度:100px;
}
.大分区{
填充顶部:100px;
}
·小分区{
最小高度:10px;
}
固定div
无状态
第0分部
添加小DIV
为什么不检查控制台并从中查找元素?哪个元素?如何以及何时在控制台中登录任何内容?@IstiaqueAhmed-如果您想对您的问题给予更多关注,请提供奖励。在不相关的问题上留下“请帮助我”的评论不会让你得到应有的关注。@StephenC,你是说提供赏金吗?@IstiaqueAhmed-是的,我是这个意思。(无论如何,我不会回答这个问题……jquery不是我的专业领域。但这就是悬赏的全部目的……吸引真正的专家!)
<script>
(function() {
var fixed = $('div.fixed_div');
$(window).on('scroll',function() {
var currentFixedDivPosition = fixed.position().top + fixed.height() + $(window).scrollTop();
var temp, whichOne;
$('div.small_div').each(function(i,s) {
var diff = Math.abs($(s).position().top - currentFixedDivPosition);
if(temp) {
if(diff < temp) {
temp = diff;
whichOne = s;
}
}else {
temp = diff;
whichOne = s;
}
});
console.log(temp, $(whichOne).attr('id') + ' was closest');
});
})();
</script>