该站点使用一个向下滚动的大页面。当您向下滚动并传递不同的部分时,当相应的div出现时,左侧的菜单导航会将css类更改为“当前”。
我猜想这可以通过jQuery使用$(window).height();来完成。
我对jQuery很陌生,我想写的是这样的东西(用外行术语):
…并重复4个不同的内容div。
谁能指出我正确的方向..?谢谢。
我没有看过代码示例(挑战自己:P更有趣),但是这就是我要这样做的方式- 。
我保存了每个元素块的位置,以最大程度地减少DOM调用的次数,然后仅在数组中进行搜索。帮助您了解一些变量。
$(window).height() // returns the viewport height
$(document).height() // returns the height of the entire document
$(window).scrollTop() // returns the Y position of the document that is at the top of the viewport
脚本:
var topRange = 200, // measure from the top of the viewport to X pixels down
edgeMargin = 20, // margin above the top or margin from the end of the page
animationTime = 1200, // time in milliseconds
contentTop = [];
$(document).ready(function(){
// Stop animated scroll if the user does something
$('html,body').bind('scroll mousedown DOMMouseScroll mousewheel keyup', function(e){
if ( e.which > 0 || e.type == 'mousedown' || e.type == 'mousewheel' ){
$('html,body').stop();
}
});
// Set up content an array of locations
$('#sidemenu').find('a').each(function(){
contentTop.push( $( $(this).attr('href') ).offset().top );
});
// Animate menu scroll to content
$('#sidemenu').find('a').click(function(){
var sel = this,
newTop = Math.min( contentTop[ $('#sidemenu a').index( $(this) ) ], $(document).height() - $(window).height() ); // get content top or top position if at the document bottom
$('html,body').stop().animate({ 'scrollTop' : newTop }, animationTime, function(){
window.location.hash = $(sel).attr('href');
});
return false;
});
// adjust side menu
$(window).scroll(function(){
var winTop = $(window).scrollTop(),
bodyHt = $(document).height(),
vpHt = $(window).height() + edgeMargin; // viewport height + margin
$.each( contentTop, function(i,loc){
if ( ( loc > winTop - edgeMargin && ( loc < winTop + topRange || ( winTop + vpHt ) >= bodyHt ) ) ){
$('#sidemenu li')
.removeClass('selected')
.eq(i).addClass('selected');
}
});
});
});
问题内容: 我正在制作一个FAQ页面,顶部有一些按钮可以跳转到一个类别(它跳转到我用作类别标签的标签,例如,用于我的常规类别)。我想添加一个滚动效果,而不仅仅是跳到该类别。我想要类似http://www.dynamicdrive.com/dynamicindex3/scrolltop.htm的内容,该内容可以滚动到页面的所需部分。该链接是一个脚本,该脚本转到页面顶部,具有良好的滚动效果。我需要类似
我在使用react路由器导航时遇到滚动问题。 当我导航到另一个组件时,它会保持上次导航时的滚动位置。然而,我希望它恢复和开始从顶部每当导航被改变。 然而,它不起作用。我有一种感觉,问题在于我的导航风格,而不是window.scrollTo()片段。
我必须在向上滚动时隐藏底部导航视图,在向下滚动时显示。如何实现这个?我的布局是这样的 我附上了视图截图。请检查一下。
我的导航栏有一个白色背景,但在登录页上它应该是透明的,当我向下滚动时它应该是白色的,在其他页面上它应该是白色的。 我使用的代码来自:滚动后更改导航栏颜色? 编辑: 所以我在下面的答案中添加了一个小提琴,但不知何故它不起作用 https://jsfiddle.net/jy6njukm/ 这是我的代码: javascript: 这里是我的navbar css: 我有我的导航栏html只有 我的home
我有一个非常令人沮丧的问题,我不知道是什么问题。我构建了只包含GridView的简单XML。这个gridview应该显示从特定的URL下载的图像(ImageView ),我用我的代码检索这些图像。 因此,此应用程序的想法只是从URL下载图像并在网格视图中显示这些图像。首先,我必须说我正在使用通用图像加载器库。首先,请看一下我的获取视图代码: 问题: 上面的代码有效,它在GridView中显示图像。
我试图让我的导航栏在滚动时从透明背景变为黑色背景。与此模板类似:https://www.templatemonsterpreview.com/demo/58900.html?_gl=1*vx82om*\uGA*MTC0odazmti4xNJI3NTCxNdQW*\uGA\uFTPyEGT5LY*MTYyNzYwNzQ4Mi40LjEuMTYyNzYwODA2NC40Nw。。 这是我的html: 这