jQuery+css3实现文字跟随鼠标的上下抖动


Posted in Javascript onJuly 31, 2015

css3过渡属性结合jq,如果直接复制代码运行,需要加载一个jquery文件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>m</title>
</head>
<style>
/* CSS 预设*/
*{ margin:0; padding:0;}
a{ text-decoration:none;}
img{ border:none;}
ul{ list-style:none;}
body{ color:#222121; font-size:12px; font-family:"宋体"; background-color:#fefefe}
.clearfix:after{ content:"."; display:block; height:0; clear:both; overflow:hidden;}
.clearfix{ zoom:1;}
/*clear*/
.left{float:left;}
.right{float:right;}
.clear{clear:both;}
/*demo4*/
.demo{ margin:0 50px;}
.hover-list{ line-height:40px; width:500px;}
.hover-list li{ height:40px; border-bottom:1px solid #969; position:relative;}
.hover-list li a span{ width:12px; height:40px;cursor:pointer;transition:all .1s cubic-bezier(.06,1.15,1,1.4) 0s;}
.hover-list li a{ color:#39F; cursor:pointer;}
</style>
<body>
<div class="demo">
  <div class="wrapper box-con">    
    <ul class="hover-list">
      <li><a href="http://www.miaov.com/2013/#" target="_blank">我们内地,大红撒谎道夫们内地道夫们内地</a></li>
      <li><a href="#2">方法我阿道道夫们内地夫们内大红撒谎道夫们内地道夫们内地地,大红撒谎</a></li>
      <li><a href="#2">是我们内地,道夫们内地大红撒谎</a></li>
      <li><a href="#2">大红撒方法我阿道道夫们内地夫们内大红撒谎道夫们内地道夫们内地地谎</a></li>
      <li><a href="#2">我们内地,大红撒谎道夫们内地道夫们内地</a></li>
      <li><a href="#2">方法我阿道道夫们内地夫们内大红撒谎道夫们内地道夫们内地地,大红撒谎</a></li>
      <li><a href="#2">是我们内地,道夫们内地大红撒谎</a></li>
    </ul>
  </div>
</body>
<script src="js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
 
//demo
  //可以变化的参数
  var setccid=$(".hover-list");//设置ul的class,添加效果
  var setleft=12;//设置字与字之间的left值
  var setskip=10;//设置上下抖动值
   
  var hov=setccid.children("li");
  for(var i=0;i<hov.length;i++){
    var hovtext=hov.eq(i).find("a").html();
    var hovtextl=hovtext.length;
    //alert(hovtextl)
    var hovtexta=hovtext.split("");
    var arrys=[];
    for(var j=0;j<hovtexta.length;j++){
      arrys.push(hovtexta[j].replace(hovtexta[j],"<span>"+hovtexta[j]+"</span>"))
    };
    hov.eq(i).find("a").html(arrys);
    var hovtextspan=hov.eq(i).find("a").find("span").length;
    for(var z=0;z<hovtextspan;z++){
      hov.eq(i).find("a").find("span").eq(z).css({position:"absolute",top:"0px"});
      hov.eq(i).find("a").find("span").eq(z).css('left',z*setleft);
    }
  };
   
  setccid.children("li").find("a").children("span").hover(function(event){
    var sppz=$(this).index();
    var sppzp=$(this).parent().children("span");
    var sppzpl=$(this).parent().children("span").length;
    var sppy=$(this).offset().top;
    var ey=event.pageY;
    var chay=sppy+$(this).height()/2;
    var sppcony=$(this).position().top; 
    if(ey>=chay) {
      $(this).css('top',sppcony+setskip);
      var lla=sppcony+setskip;
      var lll=lla;
      var llr=lla;
      var teshu=(sppz-lla)>0?sppz-lla:0;    
      for(var xx=sppz+1;xx<=sppz+lla;xx++){
        llr=llr-1;
        sppzp.eq(xx).css('top',llr);   
      };
      for(var x=sppz-1;x>=teshu;x--){
        lll=lll-1;
        sppzp.eq(x).css('top',lll); 
      }; 
    }else{
      $(this).css('top',sppcony-setskip);
      var lla=sppcony-setskip;
      var lll=lla;
      var llr=lla;
      var teshu=(sppz+lla)>0?sppz+lla:0;
      for(var xxxx=sppz+1;xxxx<=sppz-lla;xxxx++){
        llr=llr+1;
        sppzp.eq(xxxx).css('top',llr);
      }; 
      for(var xxx=sppz-1;xxx>=teshu;xxx--){
        lll=lll+1;
        sppzp.eq(xxx).css('top',lll);
      };           
    }    
  },function(event){
    $(this).css('top',"0px");
    $(this).parent().children("span").css('top',"0px");
  });
//end    
});
</script>
</html>

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
form中限制文本字节数js代码
Jun 10 Javascript
不要小看注释掉的JS 引起的安全问题
Dec 27 Javascript
$.ajax返回的JSON无法执行success的解决方法
Sep 09 Javascript
jQuery中toggleClass()方法用法实例
Jan 05 Javascript
简介JavaScript中Math.cos()余弦方法的使用
Jun 15 Javascript
Java  Spring 事务回滚详解
Oct 17 Javascript
JS跨域请求外部服务器的资源
Feb 06 Javascript
vue filters的使用详解
Jun 11 Javascript
webpack中如何加载静态文件的方法步骤
May 18 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
May 22 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
Nov 16 Javascript
JS算法教程之字符串去重与字符串反转
Dec 15 Javascript
JavaScript实现图片轮播的方法
Jul 31 #Javascript
基于bootstrap3和jquery的分页插件
Jul 31 #Javascript
jquery-tips悬浮提示插件分享
Jul 31 #Javascript
javascript实现检验的各种规则
Jul 31 #Javascript
纯JS实现本地图片预览的方法
Jul 31 #Javascript
javascript动画算法实例分析
Jul 31 #Javascript
jquery实现手机号码选号的方法
Jul 31 #Javascript
You might like
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
2016/12/28 PHP
php之可变变量的实例详解
2017/09/12 PHP
PHP简单实现记录网站访问量功能示例
2018/06/06 PHP
php测试kafka项目示例
2020/02/06 PHP
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
jQuery聚合函数实例
2015/05/21 Javascript
Webwork 实现文件上传下载代码详解
2016/02/02 Javascript
设计模式中的组合模式在JavaScript程序构建中的使用
2016/05/18 Javascript
微信小程序 选择器(时间,日期,地区)实例详解
2016/11/16 Javascript
JS多物体实现缓冲运动效果示例
2016/12/20 Javascript
JavaScript生成.xls文件的代码
2016/12/22 Javascript
vue2.0 axios前后端数据处理实例代码
2017/06/30 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
Vue触发式全局组件构建的方法
2018/11/28 Javascript
vue项目首屏打开速度慢的解决方法
2019/03/31 Javascript
nodejs实现聊天机器人功能
2019/09/19 NodeJs
JS插件amCharts实现绘制柱形图默认显示数值功能示例
2019/11/26 Javascript
使用python实现BLAST
2018/02/12 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
Python二次规划和线性规划使用实例
2019/12/09 Python
python读取excel进行遍历/xlrd模块操作
2020/07/12 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
python 动态渲染 mysql 配置文件的示例
2020/11/20 Python
Python数据分析库pandas高级接口dt的使用详解
2020/12/11 Python
Html5页面中的返回实现的方法
2018/02/26 HTML / CSS
马来西亚在线购物:POPLOOK.com
2019/12/09 全球购物
应届大学生求职信
2013/12/01 职场文书
管理学专业个人求职信范文
2013/12/13 职场文书
销售团队激励口号
2014/06/06 职场文书
大学运动会加油稿200字(5篇)
2014/09/27 职场文书
离婚协议书范文2016
2016/03/18 职场文书
如何使用CocosCreator对象池
2021/04/14 Javascript
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL
Pandas实现批量拆分与合并Excel的示例代码
2022/05/30 Python
详解CSS3浏览器兼容
2022/12/24 HTML / CSS