不确定是否还有另外一个问题,如果是这样我道歉并且请不要释放猎犬.
使用html5 doctype并在我的滚动监听器上执行快速console.log,告诉我scrollTop()值的值.我基本上这样做,所以当我滚动一个点时,我改变了一个元素的不透明度.我这样做是使用MVS解决方案而我无法将其推送到外部网站以便您可以查看.这是一个快速片段:
var opacity = 1;
var scrollTop = $('body').scrollTop();
if (scrollTop > 200) {
opacity = 0.1;
}
$('#element).css('opacity', opacity);
Run Code Online (Sandbox Code Playgroud)
如果我在Chrome中滚动,我会得到一个console.log(scrollTop); 显示我想要的东西(即每次滚动100次),我的不透明度在我达到200个scrollTop后消失.如果我在FF和IE7 +中滚动,var每次滚动返回"0".如果我将$('body').scrollTop()更改为$('document').scrollTop(); 然后我在滚动上得到一个"null"返回.
有任何想法吗?谢谢!
如何删除然后添加$(window).scroll?我需要存储一个变量并在某个事件之后重用它.
// here i store my var
$(window).scroll(function(){
myScroll = $(window).scrollTop()
});
$("#itemUnbind").click(function(){
// here i need to remove the listener
});
$("#itemBind").click(function(){
// here i need to add listener again
});
Run Code Online (Sandbox Code Playgroud)
谢谢.
我需要从当前屏幕位置设置滚动动画,然后按照设定的像素数设置.
$('html,body').animate({
scrollTop: $(window).position().top += 100
});
Run Code Online (Sandbox Code Playgroud)
要么?
$('html,body').animate({
scrollTop: '+=100px'
});
Run Code Online (Sandbox Code Playgroud) 如何在没有动画的情况下使用scrolltop
此代码有效:
var offTop = $('#box').offset().top;
offTop = offTop-43;
$('#mainCt').animate({scrollTop: '+=' + offTop + 'px'}, 400);
Run Code Online (Sandbox Code Playgroud)
这是我的(不工作的解决方案):
$("#mainCt").scrollTop('+=' + offTop + 'px'); // doesn't work
$("#mainCt").scrollTop('+='+offTop); // doesn't work
hhh = setTimeout(' $("#mainCt").scrollTop('+offTop+');',800); // doesn't work
Run Code Online (Sandbox Code Playgroud)
我在添加新内容后尝试将div滚动到底部(使用append)
这是主要部分:
$('#textdiv').append('<p>Lorem ipsum dolor sit amet, solet nostrud concludaturque no eam. Ne quod recteque pri. Porro nulla zril mei eu. Eu nibh rebum pri, eu est maiorum menandri, ridens tamquam abhorreant te eum. Ipsum definiebas ad mel.</p>');
$('#textdiv').animate({scrollTop: $('#textdiv').height()}, 1000);
Run Code Online (Sandbox Code Playgroud)
在小提琴中查看/尝试:http://jsfiddle.net/5ucD3/7/
很多车..它不会滚动到底部(只有最初几个附加).当我向下滚动并添加新内容时,它会向上滚动.有时根本没有动画.
我如何让它始终工作?我想我必须以某种方式获得正确的高度,但不知道如何
我试图让一个内容块始终显示给用户,即使他向下滚动页面.他还应该能够在内容块中上下滚动.这是一个带有精简版的小提琴,向您展示我的意思:
当向下滚动时,应该注意到,直到到达红色块的底部,它将把块固定在窗口上,当向上滚动时,它将它放回去.
在Firefox中,可以上下滚动,上面描述的固定/解除固定是不可察觉的 - 像丝绸一样光滑.
然而,一旦尝试在Chrome或IE中滚动,看起来滚动事件就会滞后,人们可以看到块"毛刺"一秒钟.这不是代码延迟 - 它似乎与浏览器有关.
有没有什么办法解决这一问题?我的智慧结束了.
我很欣赏有关如何以不同的方式达到同样效果的建议......谢谢
这个脚本:
function onscroll(){
document.getElementById("divs").style.top=""+$('body').scrollTop()+"px";
}
Run Code Online (Sandbox Code Playgroud)
小提琴:http: //jsfiddle.net/Hed2J/1/
不适用于最新的Firefox版本!
我究竟做错了什么?:) 谢谢您的帮助!
编辑: 使用JSFiddle和完整脚本编辑:)附加到onscroll事件
当我打电话时,$("body").animate({scrollTop: someValue});我也想$(window).scroll(function() { });被召唤.我怎样才能做到这一点?
我曾尝试与$(window).trigger("scroll")和$(window).triggerHandler("scroll")没有成功.
编辑:
问题解决了.有一个if在我$(window).scroll(function() { });造成的问题.
我无法使scrollTop()方法在Firefox和Chrome中都能正常工作.但我使用过$('body, html').scrollTop();,它在Chrome中不起作用.仅$('body').scrollTop();适用于Chrome.任何想法将不胜感激.以下是我的代码.
<!DOCTYPE html>
<html>
<head>
<title>Demo</title>
<style type="text/css">
body {
height: 2000px;
}
#light {
display: block;
position: fixed;
top: 50%;
left: 50%;
margin-left: -400px;
margin-top: -200px;
width: 800px;
height: 400px;
background-color: blue;
z-index:1002;
overflow: auto;
}
</style>
</head>
<body>
<div id="light">
</div>
<!-- Used the google jQuery link for ease of use in this example -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(window).scroll(function () {
var offset = $('body, html').scrollTop();
var view = …Run Code Online (Sandbox Code Playgroud) 我有关于scrollTop和scrollLeft属性的问题.我想在我的div中设置这些属性而不使用JavaScript(jquery).这可能吗?我的问题是,我有一个解释HTML代码的程序,当程序解释代码时,我滚动的div的值为零.程序无法读取scrollTop或scrollLeft值.存在HTML标记,如:
<div scrollLeft="300" scrollTop="200"></div>
Run Code Online (Sandbox Code Playgroud)