Javascript 使用setInterval更改背景颜色,并使用活动记录自动滚动页面
我试着做一行div,它会随着时间间隔闪烁,一次应该闪烁一个div。我已经做到了这一点 请看演示:Javascript 使用setInterval更改背景颜色,并使用活动记录自动滚动页面,javascript,jquery,html,css,scroll,Javascript,Jquery,Html,Css,Scroll,我试着做一行div,它会随着时间间隔闪烁,一次应该闪烁一个div。我已经做到了这一点 请看演示: var arr=$(“.box”); 无功电流=0; 函数bgChange(){ 如果(arr.length>0){ arr.removeClass(“主动”) arr.eq(当前).addClass(“活动”) 电流=(电流+1)%arr.length; } } 设定间隔(bgChange,200) .active{ 背景色:红色; } 试验 试验 试验 试验 试验 试验 试验
var arr=$(“.box”);
无功电流=0;
函数bgChange(){
如果(arr.length>0){
arr.removeClass(“主动”)
arr.eq(当前).addClass(“活动”)
电流=(电流+1)%arr.length;
}
}
设定间隔(bgChange,200)代码>
.active{
背景色:红色;
}
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
Test
方法可用于获取当前元素上的坐标,然后可用于窗口
var elem = arr.eq(current);
elem .addClass("active");
//If element is not in view port
if (elementInViewport2(elem.get(0)) == false) {
$(window).scrollTop(elem.offset().top);
}
var arr=$(“.box”);
无功电流=0;
函数bgChange(){
如果(arr.length>0){
arr.removeClass(“主动”)
var elem=arr.eq(电流);
要素addClass(“主动”)
if(elementInViewport2(elem.get(0))==false){
$(窗口).scrollTop(元素偏移量().top)
}
电流=(电流+1)%arr.length;
}
}
函数元素INVIEWPORT2(el){
var top=标高偏移;
var left=el.offsetLeft;
var宽度=el偏移网络宽度;
var高度=el离地高度;
while(el.offsetParent){
el=el.offsetParent;
顶部+=标高偏移;
左+=el.offsetLeft;
}
返回(
顶部<(window.pageYOffset+window.innerHeight)&&
左<(window.pageXOffset+window.innerWidth)&&
(顶部+高度)>window.pageYOffset&&
(左+宽)>window.pageXOffset
);
}
设定间隔(bgChange,200)代码>
.active{
背景色:红色;
}
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
测试
您可以检查当前高亮显示的元素是否不在视口中,并使用以下内容适当更新滚动顶
:
if (arr.eq(current).offset().top > viewportBottom)
$window.scrollTop(viewportBottom);
if (arr.eq(current).offset().top < $window.scrollTop())
$window.scrollTop(viewportTop);
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
试验
测试
感谢您的回复。我很欣赏您的代码在一个场景中运行。但一旦记录到达页面可见部分的末尾,它就应该滚动页面。在你的代码中,它看起来像是页面首先滚动,一旦它到达末尾,就会添加活动类,并且可以看到div的颜色变化。非常感谢,你救了我一天。我也希望如此。@Pikkapikka让我知道你对此的想法,谢谢!谢谢,这个解决方案也很有效。但我只能接受一个答案,但我肯定会投票表决。