`

js实现百度搜索框滑动固定顶部

    博客分类:
  • js
 
阅读更多
现在很多主流系统例如百度、有道、爱奇艺等的搜索框都有一个特点,滑动到刚好看不到搜索框时,固定搜索框到顶部,这也算是一个对用户友好型的操
作。



在看了百度的js和css后自己摸索出来实现效果,还是学艺不精,没读懂百度的js,有点小bug。

<!DOCTYPE html>
<html>
<head>
<title>柳絮飞祭奠</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
div input {
	width: 538px;
	height: 38px;
	border: 1px solid #b8b8b8;
	border-bottom: 1px solid #ccc;
}

.z_s_top_wrap_fix {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 70px !important;
	padding-top: 20px;
	background-color: #fff;
	box-shadow: 0 0 3px 3px #e6e6e6;
	z-index: 2;
}

.z_s_wr_fix {
	margin: auto;
	width: 641px;
	margin-top: 0 !important;
	margin-bottom: 100px;
}
</style>
</head>
<body>
	<div class="z_s_top_wrap" id="z_s_top_wrap">
		<div style="margin:auto;width:1024px;height: 30px;">
			<input id="txt_search_ipt" type="text" style="float: left;"><input type="button" style="height: 42px;float: left;background-color: #388cff;width: 103px;" value="百度一下">
		</div>
	</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
	<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
</body>
<script type="text/javascript" src="../plugins/angular/angular.js"></script>
<script type="text/javascript" src="../plugins/jquery/jquery.min.js"></script>
<script type="text/javascript">
	window.onscroll = function() {
		//获取搜索框当前距离顶部位置document.getElementById("z_s_wraa").offsetTop
		//获取滚动条离浏览器顶部位置window.pageYOffse
		if (document.getElementById("txt_search_ipt") == undefined) {
			return false;
		}
		if ($(document).scrollTop() + 30 >= $(document).height()
				- $(window).height()) {
			$("body").height($("body").height() + 20);
		}
		if ((document.getElementById("txt_search_ipt").offsetTop - window.pageYOffset) < 0) {
			//2.2.添加class固定搜索框到顶部
			$("#z_s_top_wrap").addClass("z_s_top_wrap_fix");
			$(".z_s_wr").addClass("z_s_wr_fix");
			$("body").height($("body").height() - 20);
		} else {
			//2.3.移除搜索框固定
			$("#z_s_top_wrap").removeClass("z_s_top_wrap_fix");
			$(".z_s_wr").removeClass("z_s_wr_fix");
		}
	};
</script>
</html>


实现效果



  • 大小: 44.6 KB
  • 大小: 46 KB
分享到:
评论

相关推荐

    导航栏滚动到顶部后固定

    在实际项目中,开发者可能会结合JavaScript或者jQuery来实现更复杂的交互效果,比如在导航栏到达顶部前保持静态,一旦滚动超过一定距离才变为固定。此外,还可以添加过渡动画,使导航栏在切换状态时更加平滑。 综上...

    滑动组件悬浮固定在顶部

    2. 搜索框:保持搜索框在顶部,用户可随时进行搜索,提高搜索效率。 3. 功能按钮:如果页面内有重要的功能按钮,固定在顶部能保证用户始终能够触及。 4. 性能优化:过度依赖JavaScript进行滚动监听可能会对性能...

    原生js实现京东首页搜索框、菜单栏滑动弹回、倒计时、banner动画、缓慢返回顶部效果(HTML+CSS+JS)

    在本项目中,我们将探讨如何使用原生JavaScript、HTML和CSS技术来实现京东首页的一些关键交互功能,包括搜索框、菜单栏的滑动弹回、倒计时、Banner动画以及页面缓慢返回顶部的效果。这些都是现代网页开发中常见的...

    滑动弹出式搜索框效果

    实现滑动弹出式搜索框效果涉及多个技术领域,包括前端开发、CSS3动画、JavaScript以及可能的响应式设计。以下是一些关键知识点: 1. **HTML结构**:首先,你需要创建一个包含搜索框的HTML元素,包括输入框(`...

    页眉透明的搜索栏 随着屏幕滑动改变透明度

    在CSS代码中,我们使用了position: fixed将搜索栏固定在屏幕顶部,并且使用了z-index: 999将其置于最顶层。同时,我们还使用了align-items: center和-webkit-box-align: center来实现垂直居中对齐。 知识点四:搜索...

    html5 可伸缩搜索框动画效果源码下载

    对于可伸缩的搜索框,我们可以使用CSS3的过渡(transition)和变换(transform)属性来实现动画效果。过渡属性允许我们定义元素在不同状态之间改变时的平滑过渡时间,而变换属性则可以对元素进行旋转、缩放、移动等...

    基于JS实现仿京东搜索栏随滑动透明度渐变效果

    在本文中,我们将探讨如何使用JavaScript(JS)来实现一个类似京东搜索栏的效果,该效果会在用户滚动页面时,搜索栏的透明度逐渐变化。这是一个常见的网页交互设计,可以增加用户体验,使界面更加动态和吸引人。 ...

    jQuery手机顶部下拉搜索框代码.rar_jQuery手机顶部下拉搜索框代码_partsj7v

    "jQuery手机顶部下拉搜索框代码"是一个专门为手机网站设计的解决方案,它允许用户通过点击导航图标,在页面顶部轻松触发一个下拉滑动的搜索框。这个功能使得搜索操作更加直观且节省屏幕空间,尤其适合在移动设备的...

    jQuery手机顶部下拉搜索框代码.zip

    "jQuery手机顶部下拉搜索框代码.zip"是一个专为移动端设计的jQuery插件,旨在实现一个高效的、用户友好的搜索功能。这个插件允许用户在页面顶部点击一个导航图标,然后滑动显示一个下拉的搜索框,方便用户快速输入...

    手机端抽屉式搜索框,点击放大镜弹出搜索框,兼容主流浏览器

    首先,抽屉式搜索框是一种常见的移动界面设计模式,它将搜索框隐藏在界面的某个角落,通常在页面顶部或侧边,只有当用户触发特定操作(如点击放大镜图标)时才会滑动弹出。这种设计能够保持界面简洁,避免在不需要时...

    京东购物网页端顶部栏代码.rar

    2. **京东顶部导航**:京东的顶部导航不仅包含下拉菜单,还可能包含搜索框、登录/注册按钮、购物车图标等其他功能。这些元素通常会被精心布局,以保证用户能够在任何屏幕尺寸下都能够清晰地看到并使用它们。此外,...

    自伸缩搜索框

    总结来说,自伸缩搜索框是一种提升移动设备用户体验的策略,它利用JavaScript和jQuery实现动态的宽度调整,以适应不同屏幕尺寸。设计师和开发者应该关注细节,确保在各种设备上都能提供流畅、直观的搜索体验。

    小程序上滑菜单,模仿boss直聘

    1. **JSON配置文件**:在`app.json`或`page.json`中,我们可以设置页面的导航栏样式,隐藏顶部导航栏,以便为上滑菜单提供更大的显示空间。 2. **WXML结构**:创建一个容器(如`&lt;scroll-view&gt;`),用于承载菜单项。...

    整页滑动的手机版微网页

    实现全屏滚动效果,开发者通常会用到JavaScript库,如FullPage.js、One Page Scroll、Iscroll等。这些库提供了一系列的API和事件处理,可以方便地实现滚动动画、导航链接同步、锚点定位等功能。 4. **CSS3动画和...

    jQuery手机顶部下拉搜索框特效代码

    该代码允许用户在手机网页的顶部点击一个导航图标,然后搜索框会以滑动下拉的方式呈现,既节省了屏幕空间,又方便用户进行搜索操作。 **jQuery框架介绍** jQuery是一个高效、简洁且功能丰富的JavaScript库,它简化...

    导航栏左右滑动焦点高亮菜单

    标题中的“导航栏左右滑动焦点高亮菜单”是指一种常见的网页交互设计,它通常用于网站的顶部导航,用户可以通过左右滑动鼠标或触摸屏幕在各个菜单项之间切换,同时被选中的菜单项会有一个明显的高亮效果,以增强用户...

    微信小程序demo:今日头条、豆瓣搜索:顶部滑动菜单

    此外,考虑到用户体验,搜索框的设计和交互也非常重要,例如搜索建议、历史记录等。 顶部滑动菜单是这个小程序的一个亮点,它通常用于切换不同的功能模块或内容分类。在微信小程序中,可以使用组件库(如微信小程序...

    淘宝网顶部导航菜单制作

    淘宝顶部导航菜单往往包含动态效果,如搜索框的自动完成、菜单的下拉展开等。这需要用到JavaScript或jQuery。例如,我们可以监听搜索框的输入事件,实现搜索建议的实时显示: ```javascript $(document).ready...

    网页导航栏示例100个

    - 滚动吸附:当导航栏接近屏幕边缘时固定在顶部,保持可见。 5. **导航栏的SEO优化**: - 清晰的层级结构:帮助搜索引擎理解网站的架构。 - 锚文本:使用描述性的文本链接,有利于关键词排名。 - HTML5语义元素...

    基于Bootstrap3的隐藏滑动侧边栏插件

    4. `.navbar-fixed-*`(例如`.navbar-fixed-top`或`.navbar-fixed-left`):这些类用于使导航栏固定在页面顶部或左侧。 此外,可能还会用到JavaScript/jQuery插件,如`.collapse()`和`.toggle()`方法,来控制侧边栏...

Global site tag (gtag.js) - Google Analytics