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 相关文章推荐
如何使用jQUery获取选中radio对应的值(一句代码)
Jun 03 Javascript
javascript正则表达式使用replace()替换手机号的方法
Jan 19 Javascript
基于jquery实现省市区三级联动效果
Dec 25 Javascript
基于JavaScript实现弹出框效果
Feb 19 Javascript
JQuery PHP图片在线裁剪实例
Jul 27 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
Dec 02 Javascript
javascript数组定义的几种方法
Oct 06 Javascript
jQuery自动或手动图片切换效果
Oct 11 jQuery
JS实现常见的查找、排序、去重算法示例
May 21 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
Sep 25 Javascript
vue 实现移动端键盘搜索事件监听
Nov 06 Javascript
Vue scoped及deep使用方法解析
Aug 01 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读取二进制流(C语言结构体struct数据文件)的深入解析
2013/06/13 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
2018/01/29 PHP
Laravel 微信小程序后端搭建步骤详解
2019/11/26 PHP
javascript最常用与实用的创建类的代码
2010/08/12 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
详细谈谈javascript的对象
2016/07/31 Javascript
微信小程序 label 组件详解及简单实例
2017/01/10 Javascript
判断div滑动到底部的scroll实例代码
2017/11/15 Javascript
微信小程序封装自定义弹窗的实现代码
2019/05/08 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
简单了解JavaScript作用域
2020/07/31 Javascript
jQuery实现开关灯效果
2020/08/02 jQuery
浅析 Vue 3.0 的组装式 API(一)
2020/08/31 Javascript
python实现socket客户端和服务端简单示例
2014/02/24 Python
详细探究Python中的字典容器
2015/04/14 Python
详解Python实现多进程异步事件驱动引擎
2017/08/25 Python
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
Python进阶之全面解读高级特性之切片
2019/02/19 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
django做form表单的数据验证过程详解
2019/07/26 Python
python3 动态模块导入与全局变量使用实例
2019/12/22 Python
Python内置类型性能分析过程实例
2020/01/29 Python
浅谈CSS3中的变形功能-transform功能
2017/12/27 HTML / CSS
广州地球村科技数据库题目
2016/04/25 面试题
什么叫做SQL注入,如何防止
2016/10/04 面试题
幼儿园教师请假制度
2014/01/16 职场文书
超越自我演讲稿
2014/05/21 职场文书
关爱留守儿童标语
2014/06/18 职场文书
2015纪念九一八事变84周年演讲稿
2015/03/19 职场文书
预备党员考察表党小组意见
2015/06/01 职场文书
车辆管理制度范本
2015/08/05 职场文书
幼儿教师继续教育培训心得体会
2016/01/19 职场文书
如何使用vue3打造一个物料库
2021/05/08 Vue.js
教你快速构建一个基于nginx的web集群项目
2021/11/27 Servers