- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 positon = fixed 的 div 上,我似乎无法滚动页面。
有人可以帮忙吗?我正在使用以下 jquery:
$('html, body').animate({
scrollTop: $(".example").offset().top
}, 750);
我还必须使主体具有溢出属性:隐藏(不可滚动)
我的问题:上面的代码在 position: fixed 的 div 中不起作用。我正在尝试滚动到位置固定的 div 内的另一个元素。
<div class="overlay">
<div class="example"></div>
</div>
.overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
我无法滚动到 overlay div 内的示例元素,因为 overlay div 的位置是固定的。
当我使用下面的代码时:
$('html, body').animate({
scrollTop: $(".example").offset().top
}, 750);
在覆盖(类名)div 内部,它不起作用,因为覆盖 div 的位置是固定的。
最佳答案
它不起作用的原因很简单。您要求在 html, body
上滚动,而不是在您的 fixed
元素上滚动。您需要将 overflow
设置为 auto
并在您的实际元素上调用滚动动画。
像这样:
$(document)
.on('click', '#btnScr1', function(e) {
// NOTICE: call on actual fixed element
$('#example').animate({ scrollTop: $(".exp").offset().top }, 750);
})
.on('click', '#btnScr2, #btnScr4', function(e) {
// NOTICE: call on actual fixed element
$('#example').animate({ scrollTop: 0 }, 750);
})
.on('click', '#btnScr3', function(e) {
// NOTICE: call on actual fixed element
$('#example').animate({ scrollTop: $('#example').prop("scrollHeight") }, 750);
})
#example { bottom: 0; left: 0; overflow: auto; position: fixed; right: 0; top: 0; }
.exp { text-align: center; }
p b i { background: yellow; color: red; padding: .5em 1em; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="example">
<h1><center><button id="btnScr1">Click here to make scroll</button></center></h1><ul><li>Morbi in sem quis dui placerat ornare. Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. Sed arcu. Cras consequat.</li><li>Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.</li><li>Phasellus ultrices nulla quis nibh. Quisque a lectus. Donec consectetuer ligula vulputate sem tristique cursus. Nam nulla quam, gravida non, commodo a, sodales sit amet, nisi.</li><li>Pellentesque fermentum dolor. Aliquam quam lectus, facilisis auctor, ultrices ut, elementum vulputate, nunc.</li></ul><p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus</p><h1>HTML Ipsum Presents</h1><p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p><dl><dt>Definition list</dt><dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</dd><dt>Lorem ipsum dolor sit amet</dt><dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</dd></dl><h2>Header Level 2</h2><ol><li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li><li>Aliquam tincidunt mauris eu risus.</li></ol><blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote><h3>Header Level 3</h3>
<p class="exp"><button id="btnScr2">Scroll to Top</button><b><i>Scroll to this</i></b><button id="btnScr3">Scroll to Bottom</button></p>
<ul><li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li><li>Aliquam tincidunt mauris eu risus.</li></ul><pre><code>
#header h1 a {
display: block;
width: 300px;
height: 80px;
}
</code></pre><dl><dt>Definition list</dt><dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.</dd><dt>Lorem ipsum dolor sit amet</dt><dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.</dd></dl><ul><li>Morbi in sem quis dui placerat ornare. Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. Sed arcu. Cras consequat.</li><li>Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.</li><li>Phasellus ultrices nulla quis nibh. Quisque a lectus. Donec consectetuer ligula vulputate sem tristique cursus. Nam nulla quam, gravida non, commodo a, sodales sit amet, nisi.</li><li>Pellentesque fermentum dolor. Aliquam quam lectus, facilisis auctor, ultrices ut, elementum vulputate, nunc.</li></ul><p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus</p><h1>HTML Ipsum Presents</h1><p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p><dl><dt>Definition list</dt><dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</dd><dt>Lorem ipsum dolor sit amet</dt><dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</dd></dl><h2>Header Level 2</h2><ol><li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li><li>Aliquam tincidunt mauris eu risus.</li></ol><blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote><h3>Header Level 3</h3>
<h1><center><button id="btnScr4">Scroll to Top</button></center></h1>
</div>
关于javascript - 在 : fixed div 位置设置 ScrollTop 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35752701/
我收到错误: body.scrollTop 在严格模式下已弃用。请在严格模式下使用“documentElement.scrollTop”,在怪异模式下使用“body.scrollTop”。 我的代码是
两者有什么区别: $(window).scrollTop() 和 $(document).scrollTop() 谢谢。 最佳答案 它们都有相同的效果。 但是,正如评论中所指出的: $(window)
我不太明白这一点,因为有时 body,html 有效,有时 window.我已经用 jQuery 完成了 2 个网页(本地);在第一个主体中,html 可以工作,而在另一个主体中则不行,所以我编写了
我遇到了一个仅在 Safari 中发生的问题。我有一个特定的 div,我试图在页面加载后自动滚动到特定位置。 如果我在 Safari 中输入页面的 URL 并按 Enter 键,则 div 无法正常滚
我有这段代码,我想在 div 而不是正文上滚动 var scrollPosition = document.body.scrollTop || document.documentElement.scr
我是 jQuery 的新手,所以请不要介意我。 我有这个风格 html, body{ height: 100%; overflow: auto; } 还有这个脚本 $(document
我只想获取文档的滚动条并使用此 answer 中的代码.但我得到的是一个“窗口”对象。我已经用 IE 10、Chrome 和 Firefox 进行了测试。这是我的代码: var doc = d
当试图找出网页从顶部滚动了多少时,应该使用以下哪一个: document.body.scrollTop, document.documentElement.scrollTop, window.page
我有一个导航,初始网址如下所示: test.php?query=19 我的页面上有像这样的链接 Section 1Section 2Section 3 分为 3 个部分: 并且我正在使用此 jque
如何在没有动画的情况下使用滚动顶部 此代码有效: var offTop = $('#box').offset().top; offTop = offTop-43; $('#mainCt').anim
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
当我使用函数scrollTop 获取顶部的像素数时,我收到的像素数为1、4、20...,具体取决于我滚动的速度。 $(window).scroll(function(){ var positi
嘿,我试图通过向左移动 10% 和向右移动 10% 来让 2 个 div 相互移开。在 1000 点之后它们会相互移开,但在我向后滚动到 1000 点之前它们不会再移回来 $(document).re
我有一些带有 .class 类的 div,其滚动位置由其父级的另一个子级定义,因此我需要分配一个 scrollTop () 与 $(this),类似 $(".class").scrollTop($(t
我在使用 ScrollTop 效果时遇到一些困难。事实上,它不起作用,我也不明白为什么。 这是我的代码的 Javascript 部分: $('.hcb_link').click(function(){
我想将自定义滚动写入部分功能。 当我加载页面并向下滚动时,它应该向下滚动窗口的高度,这很好。 然后,如果再次向下滚动,我想检查页面是否滚动超过窗口高度(如果向下滚动,则应该是),但它似乎卡在第一次滚动
我得到了下面的函数,该函数会弹出一个窗口,但无法将主页滚动到适当的 div 高度。 function open_window(getDiv) { var objDiv = document.getEl
我编写了这段代码来计算到页面顶部的距离。根据距离是否为 0,它会使图像消失/出现,并向上/向下移动辅助图像。 $(window).scroll(function(){ if ($(this).
我正在努力让scrolltop()返回一个值。现在它只给出 0。我知道这是一个简单的问题,但有人有任何建议吗? 这是 JQuery: $(document).ready(function(){ $('
我在此菜单上使用 jQuery 滚动顶部功能:http://goethesternfriseure.de/index.php 问题是滚动功能仅在第一次起作用。第二次点击链接后,它会滚动到底部。 $('
我是一名优秀的程序员,十分优秀!