gpt4 book ai didi

jquery - 根据其他 div 的位置更改 div 的背景颜色

转载 作者:可可西里 更新时间:2023-11-01 13:35:38 24 4
gpt4 key购买 nike

我有以下代码

html

<div class="checker">
</div>
<div class="red boxes">
</div>
<div class="green boxes">
</div>
<div class="blue boxes">
</div>

CSS

.checker {
width: 100px;
height: 100px;
border: 1px solid black;
position: fixed;
top: 0;

}
.boxes {
margin-top: 300px;
width: 600px;
height: 600px;
}
.red {
background: red;
}
.green {
background: green;
}
.blue {
background: blue;
}

如何使用 jquery 将类“.checker”的背景颜色更改为“.boxes”的背景颜色,当它们通过滚动触摸“.checker”的底部边框时

例如:当 .class red 到达 class=".red .checker"的底部边框时,".checker"类的背景颜色应该变为红色。等我不明白如何做到这一点。请帮助我。

jsfiddle

最佳答案

这个 jsFiddle 展示了如何检测重叠,您可以使用它并扩展来更改类。 http://jsfiddle.net/98sAG/

var overlaps = (function () {
function getPositions( elem ) {
var pos, width, height;
pos = $( elem ).position();
width = $( elem ).width();
height = $( elem ).height();
return [ [ pos.left, pos.left + width ], [ pos.top, pos.top + height ] ];
}

function comparePositions( p1, p2 ) {
var r1, r2;
r1 = p1[0] < p2[0] ? p1 : p2;
r2 = p1[0] < p2[0] ? p2 : p1;
return r1[1] > r2[0] || r1[0] === r2[0];
}

return function ( a, b ) {
var pos1 = getPositions( a ),
pos2 = getPositions( b );
return comparePositions( pos1[0], pos2[0] ) && comparePositions( pos1[1], pos2[1] );
};
})();

信用: jQuery Collision

关于jquery - 根据其他 div 的位置更改 div 的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17279949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com