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 相关文章推荐
地址栏上的一段语句,改变页面的风格。(教程)
Apr 02 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
Jul 26 Javascript
JS通过相同的name进行表格求和代码
Aug 18 Javascript
ES6入门教程之let和const命令详解
May 17 Javascript
详谈js的变量提升以及使用方法
Oct 06 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
Sep 06 Javascript
解决vue的过渡动画无法正常实现问题
Oct 31 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
Nov 01 Javascript
javascript json对象小技巧之键名作为变量用法分析
Nov 11 Javascript
jquery实现进度条状态展示
Mar 26 jQuery
jQuery编写QQ简易聊天框
Aug 27 jQuery
VUE中鼠标滚轮使div左右滚动的方法详解
Dec 14 Vue.js
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
ucenter中词语过滤原理分析
2016/07/13 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
2015/11/01 Javascript
玩转JavaScript OOP - 类的实现详解
2016/06/08 Javascript
详细谈谈AngularJS的子级作用域问题
2016/09/05 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
详解VueJs异步动态加载块
2017/03/09 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
基于jQuery实现的设置文本区域的光标位置
2018/06/15 jQuery
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
JavaScript中的&quot;=、==、===&quot;区别讲解
2019/01/22 Javascript
判断“命令按钮”是否被鼠标单击详解
2019/07/31 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
vue created钩子函数与mounted钩子函数的用法区别
2020/11/05 Javascript
python批量提取word内信息
2015/08/09 Python
python使用matplotlib画饼状图
2018/09/25 Python
PyQt5实现暗黑风格的计时器
2019/07/29 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
解决django-xadmin列表页filter关联对象搜索问题
2019/11/15 Python
解决django中form表单设置action后无法回到原页面的问题
2020/03/13 Python
浅谈Django前端后端值传递问题
2020/07/15 Python
python如何绘制疫情图
2020/09/16 Python
python生成xml时规定dtd实例方法
2020/09/21 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
同学聚会老师邀请函
2014/01/28 职场文书
学习雷锋做美德少年寄语大全
2014/04/09 职场文书
小学班级特色活动方案
2014/08/31 职场文书
学习教师法的心得体会
2014/09/03 职场文书
学生抄作业检讨书(2篇)
2014/10/17 职场文书
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
音乐教师个人工作总结
2015/02/06 职场文书
建党伟业的观后感
2015/06/01 职场文书
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫