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 相关文章推荐
JavaScript方法和技巧大全
Dec 27 Javascript
jquery 插件学习(五)
Aug 06 Javascript
Ajax异步提交表单数据的说明及方法实例
Jun 22 Javascript
jQuery使用ajaxSubmit()提交表单示例
Apr 04 Javascript
javascript 处理null及null值示例
Jun 09 Javascript
详解微信小程序Page中data数据操作和函数调用
Sep 27 Javascript
浅谈Node.js 沙箱环境
May 15 Javascript
vue导出html、word和pdf的实现代码
Jul 31 Javascript
AngularJS上传文件的示例代码
Nov 10 Javascript
javascript合并两个数组最简单的实现方法
Sep 14 Javascript
DWR内存兼容及无法调用问题解决方案
Oct 16 Javascript
微信小程序实现拍照和相册选取图片
May 09 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
Laravel 5.5官方推荐的Nginx配置学习教程
2017/10/06 PHP
关于JavaScript的一些看法
2009/05/27 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
js原生appendChild的bug解决心得分享
2013/07/01 Javascript
利用js实现遮罩以及弹出可移动登录窗口
2013/07/08 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
2013/11/21 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
JavaScript 闭包机制详解及实例代码
2016/10/10 Javascript
vue.js异步上传文件前后端实现代码
2017/08/22 Javascript
Express系列之multer上传的使用
2017/10/27 Javascript
微信小程序scroll-view实现滚动穿透和阻止滚动的方法
2018/08/20 Javascript
使用 Vue cli 3.0 构建自定义组件库的方法
2019/04/30 Javascript
微信小程序mpvue点击按钮获取button值的方法
2019/05/29 Javascript
详解vue 2.6 中 slot 的新用法
2019/07/09 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
Queue 实现生产者消费者模型(实例讲解)
2017/11/13 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
2019/07/03 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
如何使用python3获取当前路径及os.path.dirname的使用
2019/12/13 Python
Python的pygame安装教程详解
2020/02/10 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
2020/06/02 Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
2020/06/11 Python
python爬虫中url管理器去重操作实例
2020/11/30 Python
澳大利亚领先的在线药房:Pharmacy Online(有中文站)
2020/02/22 全球购物
初中科学教学反思
2014/01/21 职场文书
信息专业学生学习的自我评价
2014/02/17 职场文书
地质工程专业毕业生求职信
2014/08/08 职场文书
社区护士演讲稿
2014/08/27 职场文书
农村环境卫生倡议书
2015/04/29 职场文书
幼儿园新生开学寄语
2015/05/27 职场文书
食品卫生管理制度
2015/08/06 职场文书
2016年校园社会综合治理宣传月活动总结
2016/03/16 职场文书
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python
MybatisPlus EntityWrapper如何自定义SQL
2022/03/22 Java/Android