Javascript 当一个div到达页面顶部时(滚动时),如何向其添加css?
我想这样做,当用户向下滚动并达到某个div时,比如说#float,将该div设置为margin top:50px和position fixed,如果用户向上滚动,撤消这些更改。这很难理解,我知道),如果你把注意力放在边栏上,上下滚动,你就会明白我的意思 当你向下滚动时,第二个广告也会滚动一页Javascript 当一个div到达页面顶部时(滚动时),如何向其添加css?,javascript,jquery,css,Javascript,Jquery,Css,我想这样做,当用户向下滚动并达到某个div时,比如说#float,将该div设置为margin top:50px和position fixed,如果用户向上滚动,撤消这些更改。这很难理解,我知道),如果你把注意力放在边栏上,上下滚动,你就会明白我的意思 当你向下滚动时,第二个广告也会滚动一页 如何使用jQuery/CSS实现相同的功能?这是在jQuery中实现的一种方法 本代码仅用于示例目的;几乎可以肯定的是,有少数定期维护的jQuery插件可以为您完成这项工作—检查或。 下面是上述措施的一个例
如何使用jQuery/CSS实现相同的功能?这是在jQuery中实现的一种方法 本代码仅用于示例目的;几乎可以肯定的是,有少数定期维护的jQuery插件可以为您完成这项工作—检查或。 下面是上述措施的一个例子 编辑:现在,我们已将此代码重构为更优雅的解决方案
编辑2:在收到一封关于一个问题的电子邮件后,我更新了上面的代码,这样它也可以在Firefox中使用。由于
$('body').scrollTop()
在Firefox中不起作用(请参阅上的注释),我们需要检查html
和body
元素 这是该站点上使用的相关jQuery/JavaScript代码
if (window.XMLHttpRequest) {
var topGagStay = $("top-gag-stay");
var isLoggedIn = $("profile-menu") ? true : false;
var sidebarAdsTop = 1061 - 545;
var signupBtnOffset = 60;
var dockPos = 72;
if (!isLoggedIn && !GAG.isReadOnly()) {
sidebarAdsTop += signupBtnOffset
}
if (formMessageShown) {
sidebarAdsTop += formMessageOffset
}
if (topGagStay) {
if (document.documentElement.scrollTop > sidebarAdsTop || self.pageYOffset > sidebarAdsTop) {
if (topGagStay.style.position != "fixed") {
topGagStay.style.position = "fixed";
topGagStay.style.top = dockPos + "px"
}
} else {
if (document.documentElement.scrollTop < sidebarAdsTop || self.pageYOffset < sidebarAdsTop) {
topGagStay.style.position = "";
topGagStay.style.top = ""
}
}
}
}
if(window.XMLHttpRequest){
var topGagStay=$(“top gag stay”);
var isLoggedIn=$(“配置文件菜单”)?真:假;
var sidebarAdsTop=1061-545;
var signupbtnfset=60;
var-dockPos=72;
如果(!isLoggedIn&&!GAG.isReadOnly()){
sidebarAdsTop+=SignupptOffset
}
如果(显示FormMessage){
sidebarAdsTop+=formMessageOffset
}
如果(托普加格停留){
if(document.documentElement.scrollTop>sidebarAdsTop | | self.pageYOffset>sidebarAdsTop){
如果(topGagStay.style.position!=“固定”){
topGagStay.style.position=“固定”;
topGagStay.style.top=dockPos+“px”
}
}否则{
if(document.documentElement.scrollTop
感谢FireBug和代码(当然还有9GAG)。我通过beardtwizzle尝试了上述答案,效果很好。当页面滚动到页面底部时,也可以使用它
请参见此处的工作/教程一个问题,这条线的作用是什么?如果($(document.body).scrollTop()>50)@IlyaKnaup我现在已经替换了这个。。。50将是触发以下事件的高度(px)。。。在我现在的代码中,这是基于
div
的位置,它的id
为“float”,我还更新了这里的Fiddle()
if (window.XMLHttpRequest) {
var topGagStay = $("top-gag-stay");
var isLoggedIn = $("profile-menu") ? true : false;
var sidebarAdsTop = 1061 - 545;
var signupBtnOffset = 60;
var dockPos = 72;
if (!isLoggedIn && !GAG.isReadOnly()) {
sidebarAdsTop += signupBtnOffset
}
if (formMessageShown) {
sidebarAdsTop += formMessageOffset
}
if (topGagStay) {
if (document.documentElement.scrollTop > sidebarAdsTop || self.pageYOffset > sidebarAdsTop) {
if (topGagStay.style.position != "fixed") {
topGagStay.style.position = "fixed";
topGagStay.style.top = dockPos + "px"
}
} else {
if (document.documentElement.scrollTop < sidebarAdsTop || self.pageYOffset < sidebarAdsTop) {
topGagStay.style.position = "";
topGagStay.style.top = ""
}
}
}
}