导航部分选中的背景跟随鼠标滑动
2017-09-07 09:25
169 查看
为了让导航li的背景跟随鼠标比较平滑的移动,我进行了一系列尝试,最后发现,若背景加在li上让其跟随鼠标滑动,会出现卡顿效果,所以,将背景放在ul中,让其背景位置随着li的个数改变( backgroundPosition:
navLi.width() * n),这样比较平滑
HTML结构如下:
[b]css代码如下:
[/b]
#nav-div ul li a {
text-decoration: none;
height: 40px!important;
line-height:40px;
color:#333;
font-size:16px;
}
#nav-div {
width:728px;
height:45px;
margin:auto;
position:relative;
}
#nav-div ul {
width:100%;
height:45px;
list-style:none;
cursor:pointer;
background:url(../images/border.gif)no-repeat; //-----关键:背景图片
}
#nav-div ul li {
float:left;
width:104px;
text-align:center;
height:45px;
line-height:45px;
list-style:none;
}
#liItemPaner {
width:104px;
height:45px;
position:absolute;
}
.nav-side {
width:728px;
height:45px;
}
#nav .nav-on {
border-bottom: 5px solid #f60 !important;
}
JS代码如下:
$(document).ready(function(e) {
var navLi =$("#nav-div ul li"),
navUl
=$("#nav-div ul"),
speed
=200;
functionOnClick() {
n =navUl.find("li.on").index();
navUl.stop().animate({
backgroundPosition:
navLi.width() * n + 10 //--------点击后改变底线固定位置的关键
},speed);
}
OnClick();
navLi.hover(
function(){
n =$(this).index();
navUl.stop().animate({
backgroundPosition:
navLi.width() * n +10 //--------改变位置的关键
},speed);
},
function(){
OnClick();
})
navLi.click(function() {
$(this).addClass("on").siblings().removeClass("on")
});
$(window).scroll(function() {
if($(window).scrollTop()
> $("#nav").height() + 50) {
$("#nav").addClass("scoll_nav")
navLi.width() * n),这样比较平滑
HTML结构如下:
[b]css代码如下:
[/b]
#nav-div ul li a {
text-decoration: none;
height: 40px!important;
line-height:40px;
color:#333;
font-size:16px;
}
#nav-div {
width:728px;
height:45px;
margin:auto;
position:relative;
}
#nav-div ul {
width:100%;
height:45px;
list-style:none;
cursor:pointer;
background:url(../images/border.gif)no-repeat; //-----关键:背景图片
}
#nav-div ul li {
float:left;
width:104px;
text-align:center;
height:45px;
line-height:45px;
list-style:none;
}
#liItemPaner {
width:104px;
height:45px;
position:absolute;
}
.nav-side {
width:728px;
height:45px;
}
#nav .nav-on {
border-bottom: 5px solid #f60 !important;
}
JS代码如下:
$(document).ready(function(e) {
var navLi =$("#nav-div ul li"),
navUl
=$("#nav-div ul"),
speed
=200;
functionOnClick() {
n =navUl.find("li.on").index();
navUl.stop().animate({
backgroundPosition:
navLi.width() * n + 10 //--------点击后改变底线固定位置的关键
},speed);
}
OnClick();
navLi.hover(
function(){
n =$(this).index();
navUl.stop().animate({
backgroundPosition:
navLi.width() * n +10 //--------改变位置的关键
},speed);
},
function(){
OnClick();
})
navLi.click(function() {
$(this).addClass("on").siblings().removeClass("on")
});
$(window).scroll(function() {
if($(window).scrollTop()
> $("#nav").height() + 50) {
$("#nav").addClass("scoll_nav")
相关文章推荐
- jquery背景跟随鼠标滑动导航
- jquery背景跟随鼠标滑动导航
- 左边条纹跟随鼠标滑动导航
- js实现鼠标滑动背景跟随
- 仿淘宝UED的左边跟随鼠标滑动导航
- 鼠标移到隔行变色的表格上,有背景变化,并且点击的时候选中复选框和背景色
- 设置背景图片+实现图片中某部分可点击(图片导航)
- 鼠标跟随和导航云效果总结
- 【前端积累】圆角水平菜单,一张背景图片,选中或鼠标悬停背景的下一部分上移改变背景色
- 高仿酷狗UI左右滑动背景图不动和带导航的ListView
- js获取网页鼠标选中部分的内容
- CSS改变被鼠标选中的文字颜色及背景
- jQuery实现的 “滑动门”(跟随鼠标滑动滑动的tab选项卡)效果
- 图片跟随鼠标代码部分更改
- listView当选中上下滑动的时候背景是白色的
- 导航菜单底部滑动条跟随效果
- 滑动的导航,背景图片或者边框滑动效果
- 为网页背景添加一个跟随鼠标的动态变幻线条
- 鼠标悬浮背景变色导航菜单
- JQUERY HOVER鼠标悬停导航菜单滑动展开弹性下拉菜单