jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码
作者:小满时间:2026-10-29 14:44:31浏览:277
本文分享一段使用jQuery实现的仿百度首页添加服务效果的代码。该特效实现了一个独特的滑动伸缩菜单,仅支持从一端向另一端平滑展开,设计精美且交互流畅。文章包含运行效果截图、在线演示地址及完整HTML/CSS/JS源码,供开发者参考学习。
jQuery仿百度首页滑动伸缩菜单特效介绍
本文详细介绍了一段使用jQuery编写的仿百度首页添加服务功能的特效代码,旨在为读者提供实用的开发参考。
该特效模拟了百度首页的添加服务交互,本质上是一个特殊的伸缩菜单。其独特之处在于菜单仅支持单向伸展,即从一端平滑地展开至另一端,视觉效果流畅且设计精良。
以下是该特效的实际运行效果截图:

如需在线查看演示,请访问以下地址:
http://demo.jb51.net/js/2015/js-f-baidu-index-show-serv-style-codes/
实现该效果的具体代码示例如下:
完整HTML/CSS/JS源码实现
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>添加服务</title>
<style>
*{padding:0;margin:0;font:12px/26px "微软雅黑";}
a,a:hover{text-decoration:none;color:#ccc;}
dl{margin:0 auto;border:1px solid #fff;float:left;position:absolute;left:50%;color:#ccc;margin:100px 0 100px -45px ;overflow:hidden;}
dl.open{margin-left:-200px;}
dl.open dt{background:url(images/s_add_all_3f6f39e5.png) 0 0 no-repeat;}
dl dt{width:94px;height:30px;line-height:30px;text-align:center;cursor:pointer;position:relative;z-index:10;float:left; background:#fff;}
dl dd{display:none;height:28px;float:left;}
dl dd a{float:left;display:block;height:28px;line-height:28px;padding:0 15px 0 35px;position:relative;left:-300px;border-top:1px solid #E5E5E5;border-bottom:1px solid #E5E5E5;background:url(images/s_add_all_3f6f39e5.png) no-repeat;}
dl dd .nav{background-position:13px -35px;}
dl dd .hot{background-position:13px -61px;}
dl dd .app{background-position:13px -87px;}
dl dd .fresh{background-position:13px -113px;border-right:1px solid #E5E5E5;}
dl dd .nav:hover{background-position:-104px -35px;}
dl dd .hot:hover{background-position:-104px -61px;}
dl dd .app:hover{background-position:-104px -87px;}
dl dd .fresh:hover{background-position:-104px -113px;}
</style>
</head>
<body>
<dl>
<dt id="add">+添加服务</dt>
<dd id="con"><a class="nav" href="#">导航</a><a class="hot" href="#">实时热点</a><a class="app" href="#">应用</a><a class="fresh" href="#">新鲜事</a></dd>
</dl>
</body>
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script>
window.onload = function(){
var Close = function(event){
$('dd a').animate({left:-400});
setTimeout('$("dl").css("margin-left",-45);$("dl").removeClass("open")',300)
};
var Open = function(event){
$("dd").show();
var dl_W=$("dl").width();
$("dl").addClass("open").css("margin-left",-dl_W/2);
$('dd a').animate({left: 0},300);
Stop(event);
};
var Stop = function(event){
e = event || window.event;
if(e.stopPropagation){
e.stopPropagation();
}else {
e.cancelBubble = true;
}
};
$(document).bind('click', Close);
$('dt').bind('click',Open);
$('dd').bind('click',Stop);
};
</script>
</html>
希望这段代码能为您的jQuery编程工作提供有益的帮助。
作者最新文章
JS空字符串、null和undefined转数字的结果是什么
2026-11-05 14:49:16
CodePen、JSFiddle与StackBlitz:主流JS在线编辑器对比
2026-11-05 13:38:29
JS怎么将时间戳转换为“刚刚”、“几分钟前”等相对时间
2026-11-05 12:55:14
JavaScript将儒略日逆向还原为公历日期时间的实现方法
2026-11-04 23:51:05
能在我的世界手机版直接修改JS代码吗
2026-11-04 19:02:53
