是否有可能获得固定的标题 jQuery Mobile,在顶部设置一行,如下面的链接所示?
http://www.expedia.com.au/p/promos/Beach-Breaks.htm
如果您看到标题图像上方的链接上升并且标题出现并固定在顶部。
向上滚动之前
向上滚动后
我已经尝试使用 iScroll 来获得固定的标题,但不能获得上面链接中的效果。有没有关于这个问题的链接或教程?非常感谢您的时间和提前帮助。
是否有可能获得固定的标题 jQuery Mobile,在顶部设置一行,如下面的链接所示?
http://www.expedia.com.au/p/promos/Beach-Breaks.htm
如果您看到标题图像上方的链接上升并且标题出现并固定在顶部。
向上滚动之前
向上滚动后
我已经尝试使用 iScroll 来获得固定的标题,但不能获得上面链接中的效果。有没有关于这个问题的链接或教程?非常感谢您的时间和提前帮助。
好的,所以你让我想知道如何在 jQuery Mobile 中实现它,因为它可以在我正在处理的项目中派上用场。
使用JQuery Waypoints,可以检查某些元素何时到达页面顶部,以及当时页面滚动的方向。我已经设置了以下 jsbin 来向您展示一个可能的解决方案:
http://jsbin.com/iyowog/3/edit
航点代码非常简单,只需在关闭 body 标签之前将脚本包含在站点底部即可。然后,您可以使用.waypoint()
. 我在我的示例中使用了以下代码,它在您向下滚动时修复标题,并在您再次向上滚动超过其原始点时取消修复它。
$('#header').waypoint(function(event, direction) {
if (direction === 'down') {
$('#header').attr('data-position', 'fixed');
$('#header').addClass('ui-header-fixed');
} else {
$('#header').attr('data-position', '');
$('#header').removeClass('ui-header-fixed');
}
});
最好的部分是它是动态的,无论页眉在页面中的哪个位置,它都能够判断它何时到达页面顶部。
您可以尝试此代码。这应该可以工作。请注意,我尚未在手机浏览器中对其进行测试。如果有帮助,请告诉我。
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css" />
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script>
$(document).on("pageshow","#page",function(){
$(this).css("top","100px");
$(".ui-header-fixed").css("position","absolute");
})
$(window).scroll(function(event){
if($(window).scrollTop() >= 100){
$(".ui-header-fixed").css("position","fixed");
}
else{
$(".ui-header-fixed").css("position","absolute");
}
});
</script>
<script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>
</head>
<body>
<div style="height:100px;background-color:#ccc"></div>
<div data-role="page" id="page">
<div data-role="header" data-position="fixed">
<h1>Page Title</h1>
</div><!-- /header -->
<div data-role="content" style="height:1500px;">
<p>Lorem ipsum dolor</p>
</div><!-- /content -->
</div><!-- /page -->
</body>
</html>
这里有一个演示 - http://jsfiddle.net/Xg86Z/