仿妙味课堂导航(转)

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="miaov_style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="miaov.js"></script>
</head>
<body>
<div id="header">
    <ul>
        <li class="normal"><a href="javascript:void (0);">首页</a></li>
        <li class="normal"><a href="javascript:void (0);">课程</a></li>
        <li class="normal"><a href="javascript:void (0);">资源</a></li>
        <li class="normal"><a href="javascript:void (0);">留言</a></li>
        <li class="normal"><a href="javascript:void (0);">博客</a></li>
        <li class="normal"><a href="javascript:void (0);">联系</a></li>
    </ul>
    <div id="btn_bg">
        <ul>
            <li class="active"><a href="javascript:void (0);">首页</a></li>
            <li class="active"><a href="javascript:void (0);">课程</a></li>
            <li class="active"><a href="javascript:void (0);">资源</a></li>
            <li class="active"><a href="javascript:void (0);">留言</a></li>
            <li class="active"><a href="javascript:void (0);">博客</a></li>
            <li class="active"><a href="javascript:void (0);">联系</a></li>
        </ul>
    </div>
</div>
</body>
</html>

html

var speed=0;
var cur=0;
var timer1=null;
window.onload=function ()
{
    var oDiv=document.getElementById(‘btn_bg‘);
    var oUl=oDiv.getElementsByTagName(‘ul‘)[0];
    var aLi=document.getElementById(‘header‘).getElementsByTagName(‘ul‘)[0].getElementsByTagName(‘li‘);
    var i=0;
    for(i=0;i<aLi.length;i++)
    {
        aLi[i].mIndex=i;
        aLi[i].onmouseover=startMove;
    }
    cur=-oUl.offsetLeft;
};
function startMove()
{
    var oDiv=document.getElementById(‘btn_bg‘);
    var oUl=oDiv.getElementsByTagName(‘ul‘)[0];
    oDiv.style.left=432+cur+‘px‘;
    oUl.style.left=-cur+‘px‘;
    if(timer1)
    {
        clearInterval(timer1);
    }
    timer1=setInterval("doMove("+this.offsetLeft+")", 35);
}
function doMove(iTarget)
{
    var oDiv=document.getElementById(‘btn_bg‘);
    var oUl=oDiv.getElementsByTagName(‘ul‘)[0];
    speed+=(iTarget+oUl.offsetLeft)/5;
    speed*=0.7;
    if(Math.abs(speed)>60)
    {
        speed=speed>0?60:-60;
    }
    cur+=speed;
    if(cur>0)
    {
        cur=Math.ceil(cur);
    }
    else
    {
        cur=Math.floor(cur);
    }
    if(Math.abs(iTarget-cur)<1 && Math.abs(speed)<1)
    {
        clearInterval(timer1);
        timer1=null;
    }
    else
    {
        oDiv.style.left=432+cur+‘px‘;
        oUl.style.left=-cur+‘px‘;
    }
}

miaov.js

/*
 * http://www.miaov.com - Time: 2009-11-7 - QQ: 20907961 - Mobile: 13141414820 - Email: [email protected] - Name: leo(LiuWei)
 */

body, ul, ol, dl, dt, dd, h1, h2, h3, h4, h5, p, form { padding: 0; margin: 0; }
li { list-style: none; }
img { border: 0; }

body { font-family: Arial; background: #fff url(images/bg.gif) repeat-x; }
#header { width: 960px; height: 107px; margin: 0 auto 12px; position: relative; }
#header h1 { padding-top: 15px; float: left; }
#header ul { height: 44px; position: absolute; right: 0; bottom: 0; }
#header .normal, #header .active { float: left; width: 88px; height: 44px; position: relative; z-index: 1; }
#header .normal a, #header .active a { float: left; width: 88px; height: 44px; line-height: 44px; text-align: center; text-decoration: none; font-size: 14px; font-weight: bold; }
#header .active a { color: #fff; }
#header .normal a { color: #999; }
#btn_bg { width: 88px; height: 44px; background: #fb2347 url(images/btn_bg.gif); position: absolute; overflow:hidden; left: 608px; bottom: 0; z-index: 2; }
#btn_bg ul { width: 528px; left:-176px; position:absolute; }

miaov_style.css

思路:

1)#header下的直接ul是页面上显得是默认样式的导航

2)#btn_bg是粉色背景的div,当鼠标经过li时,让#btn_bg定位在当前li上

3)同时通过改变#btn_bg中ul的left值,让#btn_bg中相应的li显示在#btn_bg的位置。

时间: 2024-10-09 08:37:18

仿妙味课堂导航(转)的相关文章

jq仿 妙味课堂导航01

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> *{ margin:0; padding:0; } ul,li{ list-style:none; } a{ color:#333; text-decoration:none; } .clearfix{ zoom

【学+原】CSS3的2D动画 ——仿NOMOS手表—— 妙味课堂

看CSS3妙味课堂中有一课是介绍如何做钟表界面,然后三根针都能随着时间转动,然后自己在那个简易的版本上做了一些进一部改进. 最关键的知识点应该是transform-origin这个样式,要选对旋转的中心点.分针秒针时针的旋转中心点应该是针的底部中间位置 这个实例还是让我第一次见到把<style>设置了id,然后写进js里去操作的,因为表面的各种小时,秒的刻度的制作,需要用循环来写,直接写css样式里是不现实的. 另外就是要把setInterval和transform:rotate结合起来使用,

妙味课堂——HTML+CSS基础笔记

妙味课堂的课程讲得非常的清楚,受益匪浅.先把HTML和CSS基础课程部分视频的学习笔记记录如下: padding #PS基础 ##前端需要的PS技能 - PS技能(前端需要):切图.修图.测量 - PS工具: - 移动工具 - 矩形选框工具 - 裁切工具 - 吸管工具 - 横排文字工具 - 手抓(快捷键:空格) - 缩放(快捷键:Ctrl + 和 Ctrl -) - 标尺(快捷键:Ctrl R,主要是拖出参考线.矩形区域选择的时候,按住Ctrl,就能贴合参考线) - 自由变换(快捷键 Ctrl

妙味课堂——JavaScript基础课程笔记

集中时间把秒微课堂JS的基础课程看完,并且认真完成了课后练习.感觉在JS方面的技能算是入了个门了.课后练习的作业完成的代码我都汇总在了这里.至于视频课的学习笔记,则记录如下. 第01课JS入门基础_热身课程 写JS的步骤 先实现布局 想出实现原理 了解JS语法 希望把某个元素移除的实现 display: none; 显示为无 visibility: hidden; 隐藏 width \ height 透明度 left \ top 拿与背景色相同的div盖住该元素 利用margin值 …… 获取元

妙味课堂基础篇0_3

1.日历 1 JAN 2 FER 3 MAR 4 APR 5 MAY 6 JUN 7 JUL 8 AUG 9 SEP 10 OCT 11 NOV 12 DEC 1月活动 快过年了,大家可以商量着去哪玩吧- <!DOCTYPE html PUBLIC "-//W3C//h2D XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/h2D/xhtml1-transitional.h2d"> <

妙味课堂的导航效果

首页 首页 前端开发教程 前端开发教程 妙味视频教程 妙味视频教程 周末班上课安排 周末班上课安排 结课标准 结课标准 联系妙味 联系妙味 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> body,ul{margin: 0;padding: 0;} li{li

妙味课堂Jquery从入门到插件开发到模拟视频教程 Jquery实战开发 Jquery UI

<jQuery课程 初级到高级到模拟>├<第一课:jQuery初级>│  ├01 妙味云课堂-jQuery简介.mp4│  ├02 妙味云课堂-jQuery设计思想之选择元素.mp4│  ├03 妙味云课堂-jQuery设计思想之写法.mp4│  ├04 妙味云课堂-jQuery设计思想之原生关系和链式操作.mp4│  ├05 妙味云课堂-jQuery设计思想之取值和赋值.mp4│  ├06 妙味云课堂-jQuery方法之filter not has.mp4│  ├07 妙味云课堂

【学】CSS3的3D动画 ——3D旋转(1)—— 妙味课堂

最近学了妙味的css3的动画,2D,3D的都有,先写一个最简单的3d翻转效果,鼠标移入div,正反面翻转效果. 注意点有: 要给正反面外面加个父级: transform-style: preserve-3d;是加在正反面的父级,使动画具有3d的效果:但是ie11并不支持preserve-3d perspective也要加在父级上,使动画具有透视效果: 要给父级也加上宽高,否则动画没有效果 <style> #box{ margin: 70px auto; width: 300px; height

用jQuery制作仿网易云课堂导航菜单效果

最近做项目,用到类似的效果. 效果图如下: 直接上代码: HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="./css/index.css"> <script s