`

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
分享到:
评论

相关推荐

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

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

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

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

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

    主要介绍了基于JS实现仿京东搜索栏随滑动透明度渐变效果,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下

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

    jQuery手机顶部下拉搜索框代码是一款点击导航图标顶部下拉滑动显示搜索框代码。 jQuery手机顶部下拉搜索框代码 截图

    自伸缩搜索框

    针对移动设备而设计的,可自伸缩的搜索框

    基于Taro和Taro-UI实现仿知乎微信小程序源码+项目说明.7z

    基于Taro和Taro-UI仿知乎微信小程序源码+项目说明.7z ... 可复用搜索栏组件 【市场: 主要功能】 顶部轮播图 横向滑动图片列表 触底上拉加载更多 【消息: 主要功能】 滑动列表 tab 条吸顶 从 Mock 返回假数据排版

    JQuery&CSS;&CSS;+DIV实例大全.rar

    1.JS+CSS仿腾讯QQ首页搜索框无刷新换肤效果代码 2.js+css简单后台二级树形菜单demo示例 3.JS+CSS美化经典Select选项框插件 4.JS+CSS通用一个页面同时三个焦点图轮换效果完整实例 5.JS+CSS网页版模拟QQ登录...

    mint_ui_index.js

    我试了下官方的demo这里滑动很流畅,我按着官网demo复制的在手机上必须手指拖着才能动,不能滑动,右侧也没出来...我也是用这个做的,暂时没有测试你所说的问题,因为没有完成,我现在还有个顶部的搜索框功能没有实现

    京东分类页面

    来分析这个demo的主体构成吧,顶部为搜索栏,左侧是scroview,不要担心优化问题,因为scroview里面的TextView是动态生成的,完全不用担心优化问题,右侧是viewPager,Scroview可以控制viewPager的滑动,反之...

    TearSnow Fan

    增加首页文章标题及右边栏链接滑动效果 新增访客VIP等级及认证功能 添加CSS3读者墙 新增个性表情 一些细节优化 TearSnow Fan 1.5(2012.7.19)更新日志: 添加顶部固定导航条 增加导航菜单为两个 增强后台...

    iHealth_app:iHealth项目的应用前端(基于mui的医疗Web应用)

    iHealth的demo示例程序,是一个MUI实现的webapp。 使用技术及工具 (前端框架) (JS模板引擎) (开发,调试,打包工具) (实时通讯引擎) 启动说明 下载HBuilder,下载地址: ://www.dcloud.io/index.html ...

    z-blog-wx:博客微信小程序版本(微信搜索:程序员技术之旅)

    调整搜索页搜索栏样式 增加wxParse代码高亮显示 增加wxParse代码块长按拷贝事件 详情页添加official-account组件 v1.0.0(2020/02/01) 顶部滑动导航 关键词搜索 文章HTML渲染 调整wxParse样式 感谢 HTML转小程序原生...

    wanandroid_mini:玩安卓 小程序版

    beer_mugs:你能学到轻松上手小程序系列网络框架的封装定时器的使用页面参数传递banner轮图列表渲染下拉刷新、上拉加载view的显示与隐藏随机九宫格tab标签页的写法搜索功能转发功能(分享功能)滑动到顶部加载webview...

    jQuery详细教程

    &lt;script type="text/javascript" src="/jquery/jquery.js"&gt; &lt;script type="text/javascript"&gt; $(document).ready(function(){ $("p").click(function(){ $(this).hide(); }); }); &lt;p&gt;If you click on me, I ...

    mall-xiaohongshu-小程序模仿小红书.zip

    }3、搜索页面的历史记录 在搜索框中输入要搜索的内容后,输入的内容会增加到历史记录里面。这里我用wx:for循环historyRecord,index值区分不同的搜索内容,recordItem是要输出在历史记录的值。代码如下: class=...

    asoft签到管理系统tykq3.5_build20110125

    ajaxinc: AJAX应用类(以ajax_命名的四个文件)、附件上传(upload_5xsoft.inc|asoft_upload.asp)和EXCEL导出文件(toexcel.asp)、顶部banner(top.asp)、验证码生成文件(CodeGen.asp、VerifyCode.asp),数据库连接...

Global site tag (gtag.js) - Google Analytics