博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery 插件下载
阅读量:6849 次
发布时间:2019-06-26

本文共 2418 字,大约阅读时间需要 8 分钟。

引用:

 

如果每天看1-2个jquery,1个月的积累也是很可观的。

今天晒一下我昨天的学习心得。

大致的效果图:

鼠标移动到哪个li ,滑动块就跟到那个区域。视觉效果不错。

主要思路: 

要给li 的hover加事件。让他感知当前li的margin-left (left)

设置一个div(随便,只要是一个块,称为block),定好他的位置,也就是在li的上层

然后在hover事件中,根据left调整block的left

 

 

思路很简单。晒代码(mycode)

 

 

<
html 
xmln
=
""
>
<
head
>
<
meta 
http-equiv
=
"Content-Type" 
content
=
"text/html; charset=utf-8" 
/>
<
head
>
<
title
>MyDemo</
title
>
<
script 
type
=
"text/javascript" 
src
=
"js/jquery-1.7.2.min.js"
></
script
>
 
<
script  
type
=
"text/javascript"
> <
br
>
$(document).ready(function(){<
br
>
  
var wapper=$(".webwidget_menu_glide");
      
    
//固定block初始位置到current
        
var stay=$('li').filter('#current').offset();
 
    
$("#block").offset({left:stay.left,top:stay.top});
         
     
//鼠标经过事件绑定
        
$('.webwidget_menu_glide ul li').bind('hover',function(event){      
     
    
var pos=$(event.target).offset();
    
var left=pos.left+'px';
    
$("#block").stop().animate({left:left},"fast"); //滑块速度可调   
 
    
});
  
})
</
script
>
 
<
style
>
 
.webwidget_menu_glide{ width:600px; height:30px; background-color:red; margin:0 auto;}
 
.webwidget_menu_glide ul li{ width:100px; height:30px; float:left; list-style-type:none;}
 
.webwidget_menu_glide ul li a{ color:#000; width:100px; height:30px; float:left;}
 
#block{  width:100px; height:30px; float:left; background-color:green; position:absolute; margin-top:20px; opacity: 0.3;}
 
</
style
>
 
 
</
head
>
<
body
>
<
input 
type
=
"button" 
value
=
"change" 
id
=
"btn"
/>
    
<
div 
id
=
"block"
></
div
>
 
 
<
div 
id
=
"webwidget_menu_glide3" 
class
=
"webwidget_menu_glide"
>
       
       
<
ul
>
   
        
<
li 
><
a 
href
=
"#"
>Home</
a
></
li
>
      
       
<
li 
id
=
"current"
><
a 
href
=
"#"
>News</
a
></
li
>
        
       
<
li
><
a 
href
=
"#"
>About</
a
></
li
>
         
      
<
li
><
a 
href
=
"#"
>Contact</
a
></
li
>
      
      
<
li
><
a 
href
=
"#"
>More...</
a
></
li
>
      
     
</
ul
>
</
div
>
</
body
>
</
html
>

  

然后有几个注意点:

移动滑块的postion 不能为static。否则无法animate动态调整left值。

再查了点资料希望对迷惑的人有帮助:

 

1. position:static

所有元素的默认定位都是:position:static,这意味着元素没有被定位,而且在文档中出现在它应该在的位置。

一般来说,不用指定 position:static,除非想要覆盖之前设置的定位。

#div-1 { position:static;}

2. position:relative

如果设定 position:relative,就可以使用 top,bottom,left 和 right 来相对于元素在文档中应该出现的位置来移动这个元素。【意思是元素实际上依然占据文档中的原有位置,只是视觉上相对于它在文档中的原有位置移动了】

#div-1 { position:relative; top:20px; left:-40px;}

3. position:absolute

当指定 position:absolute 时,元素就脱离了文档【即在文档中已经不占据位置了】,可以准确的按照设置的 top,bottom,left 和 right 来定位了。

#div-1a { position:absolute; top:0; right:0; width:200px;} 

 

当然我自己对jquery也不是很了解,慢慢学起。

 

这里晒下某网站的demo效果图

 这是他的地址

大家可以看看他的源码。写的好一些

和我的自己的差别就是他加很圆角样式。以及他的js可以让他控制菜单样式。原理一样

转载地址:http://yeeul.baihongyu.com/

你可能感兴趣的文章
百度上传组件
查看>>
XMPP_02_环境安装(准备工作和配置数据库)
查看>>
排序算法汇总总结
查看>>
计算机网络
查看>>
彻底弄懂Activity四大启动模式
查看>>
UNIX网络编程——epoll 的accept , read, write(重要)
查看>>
void及void指针含义的深刻解析
查看>>
50. Spring Boot日志升级篇—log4j【从零开始学Spring Boot】
查看>>
测试学习方向
查看>>
linux下安装python3
查看>>
数据结构绪论
查看>>
将博客搬至CSDN
查看>>
C#判断本地系统的网络连接状态
查看>>
F# 入门(二):安装和使用
查看>>
渗透测试流程
查看>>
C++学习笔记 -- 虚析构函数与纯虚析构函数
查看>>
Oracle中的日期函数
查看>>
Yahoo为啥赚不到钱
查看>>
搞笑的金山软件
查看>>
Windows Server 8 Beta 初体验之一:安装篇(无技术含量,安装过的人可以略过)
查看>>