JS特效之鼠标滑动导航条
2013-07-20 21:37
316 查看
前段时间在写JS专栏,看完了,但是博客没写多少,但是今天晚上想写点想写的代码,手痒了,嘿嘿。看到网上有一个我喜欢的导航(那个博客中是HTML5+CSS3写的,但是下载人家的要给钱,后来想想,为什么不自己写一个呢,所以就开动了)。
静态页面慢慢写还是可以写出来的,主要是JS那点效果,也不怕笑,JQuery用多了,对原生JS真的不是很了解,不过没事,慢慢学习,相信会很快都熟悉的。
一. 目录结构:
二. 静态页面代码:
HTML和CSS讲解:
源代码不能完全代表文章,下面解释一下关键的两处:
1. 整个布局参考《天龙八部》游戏的导航,使用ul和li元素
2. 布局上主要问题会出现在如下几个方面
a) li中文字上下对齐èline-height:和height一样
b) li中文字左右对ètext-align:center;
c) 在ie7下解决上下滚动条问题,引起问题的原因如下:
chrome、firefox会初始付值给html{overflow:visible;}
IE6 初始付值html{overflow-x:auto;overflow-y:scroll;}
IE7 初始付值html{overflow-x:visible;overflow-y:scroll;}
只有dom根结点(也就是html根节点)设置html{overflow:visible;}的时候,浏览器才会将body元素中的overflow值应用到视图区。
所以在CSS中会有:
html {
overflow: visible;
}
三. JS脚本
JS讲解:
其实写动态控制效果并不是很难,原生态的JS难在兼容性和特殊情况的处理。
难点有如下几点:
1. 首先,判断IE版本,这个我只做了简单的判断,不难,网上一抓一大把
2. 添加事件:
a) IE支持的是:attachEvent第一个参数要加”on”,这是和其他浏览器不一样的;
b) FF,Chrome等浏览器支持的是:addEventListener(其实紧紧是IE奇葩,本来就该支持这个),第一个参数要求不能加”on”。
3. this关键字:
a) 在函数onChangeByMouseOver(this)和onChangeByMouseOut(this)中的this代表对象,在IE和其他浏览器中有差异;
b) IE代表[Objectwindow],所以处理要使用:
var _srcObj = _this.event.srcElement ?_this.event.srcElement : _this.event.target;
这里使用三元式是常用方法,大家可以参考。
c) FF,Chrome等浏览器代表当前的源元素DOM,所以直接用。
4. DOM样式的改变
a) IE支持setAttribute,而且参数必须是(’style’,cssText);
b) FF,Chrome等浏览器支持document.getElementById('content').style.cssText这种写法,不然你会发现你的方法还是可以执行一次,但是没有动态的效果
c) class获取,这个网上很多,当然也可以参考我的,(*^__^*) 嘻嘻。
效果图:
静态页面慢慢写还是可以写出来的,主要是JS那点效果,也不怕笑,JQuery用多了,对原生JS真的不是很了解,不过没事,慢慢学习,相信会很快都熟悉的。
一. 目录结构:
二. 静态页面代码:
HTML和CSS讲解:
源代码不能完全代表文章,下面解释一下关键的两处:
1. 整个布局参考《天龙八部》游戏的导航,使用ul和li元素
2. 布局上主要问题会出现在如下几个方面
a) li中文字上下对齐èline-height:和height一样
b) li中文字左右对ètext-align:center;
c) 在ie7下解决上下滚动条问题,引起问题的原因如下:
chrome、firefox会初始付值给html{overflow:visible;}
IE6 初始付值html{overflow-x:auto;overflow-y:scroll;}
IE7 初始付值html{overflow-x:visible;overflow-y:scroll;}
只有dom根结点(也就是html根节点)设置html{overflow:visible;}的时候,浏览器才会将body元素中的overflow值应用到视图区。
所以在CSS中会有:
html {
overflow: visible;
}
三. JS脚本
JS讲解:
其实写动态控制效果并不是很难,原生态的JS难在兼容性和特殊情况的处理。
难点有如下几点:
1. 首先,判断IE版本,这个我只做了简单的判断,不难,网上一抓一大把
2. 添加事件:
a) IE支持的是:attachEvent第一个参数要加”on”,这是和其他浏览器不一样的;
b) FF,Chrome等浏览器支持的是:addEventListener(其实紧紧是IE奇葩,本来就该支持这个),第一个参数要求不能加”on”。
3. this关键字:
a) 在函数onChangeByMouseOver(this)和onChangeByMouseOut(this)中的this代表对象,在IE和其他浏览器中有差异;
b) IE代表[Objectwindow],所以处理要使用:
var _srcObj = _this.event.srcElement ?_this.event.srcElement : _this.event.target;
这里使用三元式是常用方法,大家可以参考。
c) FF,Chrome等浏览器代表当前的源元素DOM,所以直接用。
4. DOM样式的改变
a) IE支持setAttribute,而且参数必须是(’style’,cssText);
b) FF,Chrome等浏览器支持document.getElementById('content').style.cssText这种写法,不然你会发现你的方法还是可以执行一次,但是没有动态的效果
c) class获取,这个网上很多,当然也可以参考我的,(*^__^*) 嘻嘻。
效果图:
相关文章推荐
- js实现鼠标滑动隐藏层或改变背景特效
- js导航条鼠标悬停上下文字滑动
- Html js和jquery制作导航条时鼠标快速滑动导致下拉菜单不断执行
- js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
- Js实现鼠标滚轮滑动监听
- 鼠标经过显示二级菜单js特效
- js炫酷小球沿着直线跑动导航条特效源码分享
- JS特效代码大全(八)鼠标拖动效果
- JS仿万科底部的新闻滑动特效代码
- JQuery实现感应鼠标弹出气泡框悬停提示的js特效
- js自动滑动+鼠标滑动区域
- js鼠标移上去当前放大图片突出显示特效代码
- 鼠标放在图层或图片上面,可导致图层或图片抖动的JS特效代码
- 15款fullpage.js鼠标滚动页面动画展示特效
- JS鼠标悬停时动态翻滚的紫色导航条
- JS特效之 仿淘宝商城 图片集 鼠标滑过改变透明度 (内含Mootools和jQuery版)
- 一个简单的JS鼠标悬停特效具体方法
- CSS3鼠标滑动动画按钮特效
- 鼠标移上去图片切换且慢慢放大JS特效
- JS实现可爱的鼠标跟随特效