导航效果预览图:
1.demo.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>slick animated menu</title>
<link rel="stylesheet" href="css/main.css" type="text/css" />
<script type="text/javascript" src="js/jquery.js" ></script>
<script type="text/javascript" src="js/jquery-bp.js" ></script>
<script type="text/javascript" src="js/navigation.js" ></script>
</head>
<body>
<div id="header"></div>
<div id="navigation" class="container">
<div id="home" class="pri-nav active"><div><a href="home">home</a></div></div>
<div id="about" class="pri-nav"><div><a href="about">about</a></div></div>
<div id="services" class="pri-nav"><div><a href="services">services</a></div></div>
<div id="solutions" class="pri-nav"><div><a href="solutions">solutions</a></div></div>
<div id="contact" class="pri-nav"><div><a href="contact">contact</a></div></div>
</div>
<div class="container">
<div class="content">
<div id="content-title"></div>
<!-- the rest of the content-->
</div>
</div>
</body>
/**
* @author Alexander Farkas
* v. 1.02
*/
(function($) {
$.extend($.fx.step,{
backgroundPosition: function(fx) {
if (fx.state === 0 && typeof fx.end == 'string') {
var start = $.curCSS(fx.elem,'backgroundPosition');
start = toArray(start);
fx.start = [start[0],start[2]];
var end = toArray(fx.end);
fx.end = [end[0],end[2]];
fx.unit = [end[1],end[3]];
}
var nowPosX = [];
nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];
fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1];
function toArray(strg){
strg = strg.replace(/left|top/g,'0px');
strg = strg.replace(/right|bottom/g,'100%');
strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");
var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];
}
}
});
})(jQuery);
var site_url = '';
var nav = [ '#home', '#about', '#services', '#solutions', '#contact' ];
$(document).ready(function(){
setBkgPos();
for ( i = 0; i < nav.length; i++ ) {
$(nav[i]).bind( 'mouseover', mMouseOver );
$(nav[i]).bind( 'mouseout', mMouseOut );
$(nav[i]).bind( 'click', mClick );
}
for ( i = 0; i < nav.length; i++ ) {
// element with 慳ctive?class will start animation
if ( $(nav[i]).get(0).className.indexOf('active') >= 0 ){
$(nav[i])
.animate({ backgroundPosition:'(' + _getHPos( nav[i] ) +'px -30px}'},"fast",
function(){
$(this)
.children()
.animate({backgroundPosition:'(0px -40px)'},20)
.animate({backgroundPosition:'(0px -20px)'},"fast");
$(this)
.animate({backgroundPosition:'(' + _getHPos( nav[i] ) +'px 50px)'},"fast")
.animate({backgroundPosition:'(' + _getHPos( nav[i] ) +'px 25px)'},"fast");
var parent = this;
$(this)
.children()
.animate( {backgroundPosition:'(0px -45px)'},"fast",function(){
$(parent).animate({backgroundPosition:'(' + _getHPos( parent.id ) +'px 25px)'},"fast");
$(parent).css({backgroundImage: 'url(img/nav.png)'});
});
});
break;
}
}
});
function _getHPos( id )
{
for ( i = 0; i < nav.length; i++ ){
if ( '#' + id == nav[i] ){
return i*(-98);
}
}
return 0;
}
function setBkgPos()
{
for ( i = 0; i < nav.length; i++ ){
$(nav[i]).css({backgroundPosition: i*(-98) + 'px -25px'});
$(nav[i] + ' div').css({ backgroundPosition: '0px -60px'});
}
}
function mMouseOver(e)
{
// element with 慳ctive?class will ignore this event and do nothing
if ( this.className.indexOf('active') >= 0 ){
return;
}
$(this)
// stop any animation that took place before this
.stop()
// step 1. change the image file
.css({backgroundImage: 'url(img/nav-over.png)',cursor: 'pointer'})
// step.2 move up the navigation item a bit
.animate({ backgroundPosition:'(' + _getHPos( this.id ) +'px -30px}'},"fast",
// this section will be executed after the step.2 is done
function(){
$(this)
.children()
// step. 3 move the white box down
.animate({backgroundPosition:'(0px -40px)'},20)
// step 4. move the white box down
.animate({backgroundPosition:'(0px -20px)'},"fast");
$(this)
// step 4. move the navigation item down
.animate({backgroundPosition:'(' + _getHPos( this.id ) +'px 50px)'},"fast")
// step 5. move the navigation item to its final position
.animate({backgroundPosition:'(' + _getHPos( this.id ) +'px 25px)'},"fast");
// store the parent element id for later usage
var parent = this;
$(this)
.children()
// step 5. move the white box to its final position
.animate( {backgroundPosition:'(0px -45px)'},"fast",
// this section will be executed after the step.5 is done
function(){
// step.6 change the image to its original image
$(parent).css({backgroundImage: 'url(img/nav.png)'});
});
});
}
function mMouseOut(e)
{
// element with 慳ctive?class will ignore this event and do nothing
if ( this.className.indexOf('active') >= 0 ){
return;
}
$(this)
// stop any animation that took place before this
.stop()
// step.1 move down navigation item
.animate({backgroundPosition:'(' + _getHPos( this.id ) +'px 40px )'}, "fast",
// this section will be executed after the step.1 is done
function(){
// step.2 white box move really fast
$(this).children().animate({backgroundPosition:'(0px 70px)'}, "fast");
// step 3. move navigation item up
$(this).animate( {backgroundPosition:'(' + _getHPos( this.id ) +'px -40px)'}, "fast",
// this section will be executed after the step.3 is done
function(){
// step 4. move navigation item ot its original position
$(this).animate( {backgroundPosition:'(' + _getHPos( this.id ) +'px -25px)'}, "fast",
// this section will be executed after the step.4 is done
function(){
// move white box to its original position, ready for next animation
$(this).children().css({ backgroundPosition:'0px -60px'});
})
})
})
.css({backgroundImage: 'url(img/nav.png)', cursor: ''});
}
function mClick(e)
{
location.href = this.id;
}
body {
background: url(../img/body-bkg.png) repeat scroll;
margin: 0;
padding: 0;
}
.container{
margin: 0pt auto;
width:950px;
}
#header{
background: url(../img/hdr-bkg.png) repeat-x scroll;
height:181px;
position:absolute;
z-index :100;
top: 0px;
left:0px;
width:100%;
}
#navigation{
height:60px;
}
#home, #home div,
#about, #about div,
#services , #services div,
#solutions, #solutions div,
#contact, #contact div {
height:80px;
position:absolute;
width:97px;
float:left;
}
#home, #about, #services, #solutions, #contact{
background-image: url(../img/nav.png);
background-attachment: scroll;
background-repeat: no-repeat;
top:171px;
}
#home{
background-position: 0px -25px;
margin-left:6px;
}
#about{
background-position: -98px -25px;
margin-left:105px;
}
#services{
background-position: -196px -25px;
margin-left:204px;
}
#solutions{
background-position: -294px -25px;
margin-left:303px;
}
#contact{
background-position: -392px -25px;
margin-left:402px;
}
#home div, #about div, #services div, #solutions div, #contact div {
background-image: url(../img/white.png);
background-attachment: scroll;
background-repeat: no-repeat;
background-position: 0px -60px;
}
.pri-nav a{
display:block;
text-decoration:none;
text-indent:-30000px;
}
.content{
margin-top:160px;
}
#content-title{
background: url(../img/content-title.png) no-repeat scroll;
height:323px;
position:absolute;
width:100%;
}
- 大小: 30.9 KB
分享到:
相关推荐
HTML+css+jQuery实现导航栏效果--pc端 适合前端,下载即可使用。 $(function(){ // 鼠标移入事件 $('.nav>li').mousemove(function(){ $(this).addClass('active').siblings('li').removeClass('active') //...
以上就是使用HTML、CSS和jQuery实现一个最简单的右侧导航栏的基本步骤。这个导航栏可以根据用户的需求进行扩展和定制,比如添加更多的交互效果、改变样式或者增加更多功能。在实际项目中,你可能还需要考虑其他因素...
本文将深入探讨这些技术,并基于"HTML+CSS+JavaScript+jQuery+Bootstrap等前端框架实现的前端案例.zip"这个压缩包中的webdemo-master项目,分析它们在实际应用中的作用。 首先,HTML(HyperText Markup Language)...
网页动画素材 纯css3+jQuery实现抖音网红时钟动画特效(抖音资料)网页动画素材 纯css3+jQuery实现抖音网红时钟动画特效(抖音资料)网页动画素材 纯css3+jQuery实现抖音网红时钟动画特效(抖音资料)网页动画素材 ...
基于html+css+js进行网页设计 课程设计 毕业设计 供参考 源码+说明 基于html+css+js进行网页设计 课程设计 毕业设计 供参考 源码+说明 基于html+css+js进行网页设计 课程设计 毕业设计 供参考 源码+说明 基于...
在网页设计和开发中,`div+css+jquery` 是一套常见的技术组合,用于构建现代、响应式的网页界面。下面将分别对这三个主要组件进行详细解释,并探讨它们如何协同工作来实现动态、交互式的效果。 1. **Div(Division...
基于HTML+CSS+JS+JQuery+BootStrap仿天猫官网预览地址:.zip基于HTML+CSS+JS+JQuery+BootStrap仿天猫官网预览地址:.zip基于HTML+CSS+JS+JQuery+BootStrap仿天猫官网预览地址:.zip基于HTML+CSS+JS+JQuery+BootStrap...
Python高校舆情分析监控系统 框架:flask+ html + css + jquery + python + TD-IDF,IDA,NLP算法 +mysql MySQL数据量重置id truncate table tablename python3.9 高校舆情分析监控系统 爬虫三个模块 贴吧 微博
本模板特别强调了"DIV+CSS+JQUERY"的运用,这三种技术在现代网页开发中起着至关重要的作用。 **DIV**(层)是HTML中的一个通用容器元素,用于组织页面布局。它通过CSS样式控制,可以实现灵活多变的布局。在本模板中...
css+jquery实现最简单轮播图效果html代码
XSLT+CSS+JQuery+WebService实现网站 分离到底!用XML+XSLT+CSS+JQuery+WebService组建Asp.Net网站,数据库采用的是Access(在App_Data下) 使用这种方案建站的人依然寥寥无几,大家还都在抱着Web标准化不撒手,其实...
css3+jQuery开灯关灯动画代码.rar css3+jQuery开灯关灯动画代码.rar css3+jQuery开灯关灯动画代码.rar css3+jQuery开灯关灯动画代码.rar css3+jQuery开灯关灯动画代码.rar css3+jQuery开灯关灯动画代码.rar css3+...
作品实现了以下的js功能: (1) 使用正则表达式验证注册页面信息 (2) 网站首页动态显示系统时间 (3) 动态改变导航菜单样式 (4) 制作图片轮显效果 (5) 制作随光标滚动的广告图片效果 (6) 制作光标移到某...
### 基于HTML电商购物项目的设计与实现——html+css+javascript+jquery+bootstrap响应式图书商城 #### 一、项目概述 本项目旨在通过HTML、CSS、JavaScript、jQuery以及Bootstrap等技术来构建一个完整的响应式电子...
在“绝对实用的DIV+CSS+JQUERY模板”中,jQuery可能被用来实现诸如下拉菜单、滑动效果、图片轮播、表单验证等各种动态功能,提升用户体验。 【DIV】:在HTML中,`<div>`是一个通用的容器标签,用于组合其他HTML元素...
在本项目中,“web前端 html+css+js+jquery 网易云音乐官网模仿”是一个前端学习项目,目的是通过模仿网易云音乐的官方网站来掌握和应用HTML、CSS、JavaScript以及jQuery这四门核心技术。接下来,我们将深入探讨这些...
基于前端HTML+CSS+JS+Jquery+后端php+mysql实现仿照当当网的图书商城+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于前端HTML+CSS+JS+Jquery+后端...
以上所述是小编给大家介绍的利用HTML5+css3+jquery+weui实现仿微信聊天界面功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持!
旅游趋势大屏 框架:Python + html + css + jquery + bootstrap + json 数据库:无 数据集基于json接口的形式获取。 角色管理员 admin 123456 模块介绍 登录模块 大屏模块 数据库设计:无数据库