如何在每次滚动时更改元素颜色
How to change element color each time scrolling
我想在访问者每次滚动x个像素时输出数组的一个项目。
目前我想出了这个代码。但是当我只想输出某个项目时,我陷入了困境。
我想在每次有人滚动 10 像素时输出数组的另一个项目。
$(document).scroll(function() {
var array = ["1", "2", "3", "4"];
var currentArray = 0;
function changeColor() {
currentArray++;
if(currentArray > 139) {
currentArray = 0;
}
}
for (var i = 0; i < 1; i++) {
console.log(array[currentArray]);
}
});
var arr = [1, 2, 3, 4, 5, 6, 7, 8];
document.onscroll = function() {
var el = parseInt(window.scrollY / 250);
if (el <= arr.length) {
document.getElementsByTagName('p')[0].textContent += arr[el];
arr[el] = '';
}
}
html,
body {
height: 200%;
}
p {
position: fixed;
}
<p></p>
在上面的方法中,您在每次滚动时输出数组元素,除了每次打印后,您清除数组中的该位置,因此输出空白字符串(丑陋的黑客,但我只是想向您展示大致的想法)。
更改parseInt(window.scrollY / 250)
中的250
以更改步骤。
我希望您能够将这种方法应用于您的需求。
使用 .scrollTop()
方法:
if( $(document).scrollTop() > 10 ) {
// do something
}
if ( $(document).scrollTop() > 20 ) {
// do something
}
相关文章:
- 使用ngRepeat中的Angular动态更改元素颜色
- 在模式框打开之前更改 SVG 元素的颜色,并在框打开时保持该颜色
- Extjs 树 如何更改子元素的文本颜色
- 我需要在javascript if语句中使用jquery来动画元素的颜色
- 更改不同元素的颜色
- 我怎样才能随机化 HTML 元素的颜色属性
- 在自定义坐标处获取RaphaelJS元素的颜色填充
- 边距和输入元素边框之间的填充颜色
- 更改整个页面上不同元素的颜色
- 使元素单独更改颜色
- 单击时更改元素的颜色
- 使用单选按钮更改 HTML 元素的颜色
- 将输入 html 元素动态关联到颜色选取器
- 更改元素父元素的背景颜色时停止在
上闪烁鼠标悬停?jQuery/JS. - 获取动态背景颜色,使用 LESS 应用于单独的元素
- 如何为 svg 元素提供 hsl 颜色值
- 如何在每次滚动时更改元素颜色
- 单击以更改元素颜色
- 动态改变元素颜色的最佳方法
- Javascript改变元素颜色/ PHP变量