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的document.ready更快的方法
Apr 28 Javascript
jquery关于图形报表的运用实现代码
Jan 06 Javascript
js动态修改input输入框的type属性(实现方法解析)
Nov 13 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
Jun 07 Javascript
Angular 中 select指令用法详解
Sep 29 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
Jul 10 Javascript
微信小程序简单实现form表单获取输入数据功能示例
Nov 30 Javascript
利用vue和element-ui设置表格内容分页的实例
Mar 02 Javascript
js如何找出字符串中的最长回文串
Jun 04 Javascript
angularJs提交文本框数据到后台的方法
Oct 08 Javascript
video.js 一个页面同时播放多个视频的实例代码
Nov 27 Javascript
使用这 6个Vue加载动画库来减少我们网站的跳出率
May 18 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
php购物网站支付paypal使用方法
2010/11/28 PHP
使用PHP下载CSS文件中的图片的代码
2013/09/24 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
2017/05/09 PHP
php基于 swoole 实现的异步处理任务功能示例
2019/08/13 PHP
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
禁止IE用右键的JS代码
2013/12/30 Javascript
js导出txt示例代码
2014/01/14 Javascript
js添加select下默认的option的value和text的方法
2014/10/19 Javascript
jQuery内容过滤选择器用法分析
2015/02/10 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
jQuery ajax提交Form表单实例(附demo源码)
2016/04/06 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
vue3实现v-model原理详解
2019/10/09 Javascript
JS前端基于canvas给图片添加水印
2020/11/11 Javascript
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
2019/06/13 Python
python中利用matplotlib读取灰度图的例子
2019/12/07 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
洗煤厂厂长岗位职责
2014/01/03 职场文书
公务员职业生涯规划书范文  
2014/01/19 职场文书
《唯一的听众》教学反思
2014/02/20 职场文书
经典而简洁的婚礼主持词
2014/03/13 职场文书
化工专业自荐书
2014/06/16 职场文书
温馨提示标语
2014/06/26 职场文书
以幸福为主题的活动方案
2014/08/22 职场文书
起诉书格式范文
2015/05/20 职场文书
任命书格式范文
2015/09/22 职场文书
PHP判断是否是json字符串
2021/04/01 PHP
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS
Spring实现内置监听器
2021/07/09 Java/Android
MongoDB使用场景总结
2022/02/24 MongoDB