`
zzc1684
  • 浏览: 1220391 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

适合做faq或menu的滑动效果菜单

    博客分类:
  • Html
阅读更多
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<style type="text/css">
<!--
body,div,ul,li,p,h1,h2{ margin:0; padding:0; border:0; background:#FAFAFA; font-family:Arial, Helvetica, sans-serif,"宋体"}
body{ text-align:center; font-size:12px}
li{ list-style:none}
.rolinList{ width:402px; height:auto; margin:20px auto 0 auto; text-align:left}
.rolinList li{margin-bottom:1px;border:1px solid #DADADA}
.rolinList li h2{ width:380px; height:40px;  background:#fff; font-size:14px; line-height:40px; padding-left:20px; color:#333; cursor:pointer}
.content{ height:150px;width:400px;  background:#fff;  background:#FAFAFA}
.content p{ margin:12px}
-->
</style>
<script type="text/javascript">
//<![CDATA[
window.onload = function() {
rolinTab("rolin")
}
function rolinTab(obj) {
var list = $(obj).getElementsByTagName("LI");
var state = {show:false,hidden:false,showObj:false};
for (var i=0; i<list.length; i++) {
var tmp = new rolinItem(list[i],state);
if (i == 0) tmp.pShow();
}
}
function rolinItem(obj,state) {
var speed = 0.0666;
var range = 1;
var interval;
var tarH;
var tar = this;
var head = getFirstChild(obj);
var content = getNextChild(head);
var isOpen = false;
this.pHidden = function() {
if (isOpen) hidden();
}
this.pShow = show;
var baseH = content.offsetHeight;
content.style.display = "none";
var isOpen = false;
head.onmouseover = function() {
this.style.background = "#EFEFEF";
}
head.onmouseout = mouseout;
head.onclick = function() {
this.style.background = "#EFEFEF";
if (!state.show && !state.hidden) {
if (!isOpen) {
head.onmouseout = null;
show();
} else {
hidden();
}
}
}
function mouseout() {
this.style.background = "#FFF"
}
function show() {
head.style.borderBottom = "1px solid #DADADA";
state.show = true;
if (state.openObj && state.openObj != tar ) {
state.openObj.pHidden();
}
content.style.height = "0px";
content.style.display = "block";
content.style.overflow = "hidden";
state.openObj = tar;
tarH = baseH;
interval = setInterval(move,10);
}
function showS() {
isOpen = true;
state.show = false;
}
function hidden() {
state.hidden = true;
tarH = 0;
interval = setInterval(move,10);
}
function hiddenS() {
head.style.borderBottom = "none";
head.onmouseout = mouseout;
head.onmouseout();
content.style.display = "none";
isOpen = false;
state.hidden = false;
}
function move() {
var dist = (tarH - content.style.height.pxToNum())*speed;
if (Math.abs(dist) < 1) dist = dist > 0 ? 1: -1;
content.style.height = (content.style.height.pxToNum() + dist) + "px";
if (Math.abs(content.style.height.pxToNum() - tarH) <= range ) {
clearInterval(interval);
content.style.height = tarH + "px";
if (tarH != 0) {
showS()
} else {
hiddenS();
}
}
}
}
var $ = function($) {return document.getElementById($)};
String.prototype.pxToNum = function() {return Number(this.replace("px",""))}
function getFirstChild(obj) {
var result = obj.firstChild;
while (!result.tagName) {
result = result.nextSibling;
}
return result;
}
function getNextChild(obj) {
var result = obj.nextSibling;
while (!result.tagName) {
result = result.nextSibling;
}
return result;
}
//]]>
</script>
<body>
<ul class="rolinList" id="rolin">
<li>
<h2>导航 1</h2>
<div class="content">
<p>测试测试测试测试!<br />
<br />
<a href="/" target="_blank">测试测试测试测试</a></p>
</div>
</li>
<li>
<h2>导航 2</h2>
<div class="content">
<p>测试测试测试测试!<br />
<br />
<a href="/" target="_blank">测试测试测试测试</a></p>
</div>
</li>
<li>
<h2>导航 3</h2>
<div class="content">
<p>测试测试测试测试!<br />
<br />
<a href="/" target="_blank">测试测试测试测试</a></p>
</div>
</li>
<li>
<h2>导航 4</h2>
<div class="content">
<p>测试测试测试测试!<br />
<br />
<a href="/" target="_blank">测试测试测试测试</a></p>
</div>
</li>
<li>
<h2>导航 5</h2>
<div class="content">
<p>测试测试测试测试!<br />
<br />
<a href="/" target="_blank">测试测试测试测试</a></p>
</div>
</li>
<li>
<h2>导航 6</h2>
<div class="content">
<p>测试测试测试测试!<br />
<br />
<a href="#" target="_blank">测试测试测试测试</a></p>
</div>
</li>
</ul>
</body>
</html>

 

分享到:
评论

相关推荐

    滑动效果,适合做faq或menu

    滑动效果,适合做faq或menu滑动效果,适合做faq或menu

    滑动效果,适合做faq或menu.rar

    滑动效果在网页设计中是一种常见的交互元素,尤其适用于FAQ(常见问题解答)或菜单导航。这种效果可以增强用户体验,使用户更容易访问和浏览页面内容。在JavaScript特效中,滑动菜单通常涉及到DOM操作、CSS样式变换...

    JS实现的适合做faq或menu滑动效果示例

    在现代网页设计中,使用JavaScript来实现具有动态交互性的FAQ(常见问题解答)或菜单(menu)滑动效果是一种常见且有效的方法。这种效果能够让用户在浏览网页内容时获得更为流畅和直观的体验。下面将详细分析如何...

    滑动效果,适合做faq或menu特效代码

    滑动效果在IT行业中是一种常见的交互设计,常用于FAQ(常见问题解答)或者菜单导航,为用户提供更加流畅和直观的浏览体验。这种效果通常通过JavaScript、CSS3或者一些前端框架如jQuery来实现。下面我们将详细探讨...

    JS经典导航条免费下载

    "滑动效果,适合做faq或menu.htm"可能是一种用于FAQ(常见问题解答)或菜单的滚动效果。通过JS,可以创建平滑的滚动动画,当用户点击某个链接时,页面会平滑滚动到相应的位置。这种效果增强了页面的交互性,使用户更...

    手风琴轮播图,带有注释和实现思路

    手风琴轮播图是一种常见的网页交互效果,它将多个内容区域折叠成一列或一行,用户可以逐个展开查看,常用于展示详情、菜单或FAQ等。在本教程中,我们将深入探讨如何使用JavaScript实现一个带有注释和清晰实现思路的...

    50个jqery插件

    1. **SlidingPanels for jQuery**:此插件允许元素展开或关闭,创造出类似手风琴的滑动效果,适用于各种需要隐藏或展示额外信息的场景。 2. **jQuery Collapse**:当用户点击时,该插件能够使`&lt;div&gt;`层滑动展开或...

    Dreamweaver Spry Help/En

    - 应用场景:适合于展示多层级的内容结构,如FAQ页面。 2. **选项卡面板(Tab Panels)**:通过标签的形式展示多个面板,用户可以通过点击标签切换显示不同的内容区块。 - 属性设置:包括标签样式、切换效果等。 - ...

    android开发资料大全

    android用户界面之菜单(Menu)教程实例汇总 android用户界面之Layout(布局)教程汇总 android用户界面之Checkbox教程实例汇总 Android Wifi方法大全【总有一种方法适合你】 android开发环境搭建篇详尽的教程实例汇 ...

    ajax实例大全 很实用的!

    &lt;tr&gt;&lt;td&gt;&lt;a href="1.4/select_menu.html"&gt;1.4多级联动菜单&lt;/a&gt;&lt;/td&gt; &lt;tr&gt;&lt;td&gt;&lt;a href="1.5/query_step.html"&gt;1.5条件设置向导&lt;/a&gt;&lt;/td&gt; &lt;tr&gt;&lt;td&gt;&lt;a href="1.6/word_tip.html"&gt;1.6页面关键词提示&lt;/a&gt;&lt;/td&gt; &lt;tr&gt;&lt;td ...

Global site tag (gtag.js) - Google Analytics