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 相关文章推荐
JSONP 跨域访问代理API-yahooapis实现代码
Dec 02 Javascript
跟我学习javascript的prototype使用注意事项
Nov 17 Javascript
JavaScript使用键盘输入控制实现数字验证功能
Aug 19 Javascript
javascript中Number的方法小结
Nov 21 Javascript
jquery easyui如何实现格式化列
Jul 30 jQuery
ES6 Promise对象的含义和基本用法分析
Jun 14 Javascript
微信小程序 组件的外部样式externalClasses使用详解
Sep 06 Javascript
jquery绑定事件 bind和on的用法与区别分析
May 22 jQuery
Element Breadcrumb 面包屑的使用方法
Jul 26 Javascript
vue 重塑数组之修改数组指定index的值操作
Aug 09 Javascript
JavaScript 实现下雪特效的示例代码
Sep 09 Javascript
js实现网页随机验证码
Oct 19 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 代码规范小结
2012/03/08 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
2016/09/22 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
原生JS操作网页给p元素添加onclick事件及表格隔行变色
2013/12/01 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
2014/06/20 Javascript
jquery控制表单输入框显示默认值的方法
2015/05/22 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
vue.js移动端app实战1:初始配置详解
2017/07/24 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
2017/08/16 Javascript
Windows下使用Nodejs运行js的方法
2017/09/02 NodeJs
用ES6写全屏滚动插件的示例代码
2018/05/02 Javascript
详解vue中axios请求的封装
2019/04/08 Javascript
详解简单易懂的 ES6 Iterators 指南和示例
2019/09/24 Javascript
微信小程序实现列表左右滑动
2020/11/19 Javascript
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
web.py在模板中输出美元符号的方法
2014/08/26 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
对Python强大的可变参数传递机制详解
2019/06/13 Python
python在新的图片窗口显示图片(图像)的方法
2019/07/11 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
2020/09/29 Python
英国高端食品和葡萄酒超市:Waitrose
2016/08/23 全球购物
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
牦牛毛户外探险服装:Kora
2019/02/08 全球购物
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
数据员岗位职责
2013/11/19 职场文书
九年级历史教学反思
2014/01/27 职场文书
素质拓展感言
2014/01/29 职场文书
公司市场专员岗位职责
2014/06/29 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
2014年家长学校工作总结
2014/11/20 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
机械生产实习心得体会
2016/01/22 职场文书
合同范本之电脑出租
2019/08/13 职场文书
2019年第四季度财务部门工作计划
2019/11/02 职场文书
MYSQL(电话号码,身份证)数据脱敏的实现
2021/05/28 MySQL
基于angular实现树形二级表格
2021/10/16 Javascript