我正在通过AJAX加载元素.只有向下滚动页面时,其中一些才可见.
有什么方法我可以知道一个元素现在是否在页面的可见部分?
我只是想知道如果div.loading可见,我如何才能在滚动上实现更多数据.
通常我们会查找页面高度和滚动高度,以查看是否需要加载更多数据.但是下面的例子比那复杂一点.
下图是完美的例子.在下拉框中有两个.loading div.当用户滚动内容时,无论哪个可见,它都应该开始为其加载更多数据.

那么如何才能找出.din div是否对用户可见?所以我可以开始只加载该div的数据.
如何关注HTML元素(例如"a")并且不要更改当前的滚动设置.
对于前者 如果我使用:
$('#link').focus();
Run Code Online (Sandbox Code Playgroud)
并且此链接在屏幕中不可见(例如,在可见区域下方),浏览器向下滚动以显示元素.如何在没有滚动条移动的情况下设置焦点?我需要在原始位置保留滚动条.
我试过这个,但它会产生一些屏幕闪烁,这是一个黑客,而不是一个优雅的解决方案:
var st=$(document).scrollTop();
$('#link').focus();
$(document).scrollTop(st);
Run Code Online (Sandbox Code Playgroud)
请问有人可以帮助我吗?
首先,我想参考这个网站:http://annasafroncik.it/ 我喜欢动画的展示方式.在jquery中创建类似的函数难吗?有没有插件可以创建这样的效果?
希望有人能帮助我.
请告诉我如何以最正确的方式做到这一点.
HTML:
<div id="fixed-red" class="fixed-red"></div>
<div id="fixed-green" class="fixed-green"></div>
<div id="fixed-blue" class="fixed-blue"></div>
<div id="red" class="red"></div>
<div id="green" class="green"></div>
<div id="blue" class="blue"></div>
Run Code Online (Sandbox Code Playgroud)
CSS:
html,body{
height:100%;
}
.fixed-red,.fixed-green,.fixed-blue{
width:30px;
height:30px;
position:fixed;
top:10px;
left:10px;
background:#333;
}
.fixed-green{
top:50px;
}
.fixed-blue{
top:90px;
}
.red-active{
background:#f00;
}
.green-active{
background:#0f0;
}
.blue-active{
background:#00f;
}
.red,.green,.blue{
width:100%;
height:100%;
}
.red{
background:#900;
}
.green{
background:#090;
}
.blue{
background:#009;
}
Run Code Online (Sandbox Code Playgroud)
我想添加/删除red/green/blue-active类的fixed-red/green/blue的div当用户打开/关闭red,green或bluediv的(当它们是可见的),所以小的div将与大,显示的div的颜色分别强调当用户在他们.
谢谢!
类似于这个未解决的问题(jQuery - parallax - 正确更新背景位置)
我正在动画页面滚动上元素的transform属性,以实现类似视差的效果.我希望这个元素只在视图中开始动画.现在的问题是,如果元素出现在页面的下方,它已经向上移动很多并且失去了效果.
这是我目前的代码
function parallax() {
var scrolled = $(window).scrollTop();
$('[data-scroll]').css('transform', 'translateY('+-(scrolled*0.02)+'px)');
}
$(window).scroll(function(e){
parallax();
});
Run Code Online (Sandbox Code Playgroud)