jquery实现可旋转可拖拽的文字效果代码


Posted in Javascript onJanuary 27, 2016

本文实例讲述了jquery实现可旋转可拖拽的文字效果代码。分享给大家供大家参考,具体如下:

运行效果截图如下:

jquery实现可旋转可拖拽的文字效果代码

具体代码如下:

<html>
 <head>
  <title>test</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <script type="text/javascript" src="jquery.js"></script>
  <script type="text/javascript" >
   function scaleXBlock(blocker, scaleX){
    blocker.css({
     "-moz-transform": 'scaleX(' + scaleX + ')' ,
     "-webkit-transform": 'scaleX(' + scaleX + ')' ,
     "-o-transform": 'scaleX(' + scaleX + ')',
     "-ms-transform": 'scaleX(' + scaleX + ')',
     "transform": 'scaleX(' + scaleX + ')'
    });
   }
   function getPosition(event){
    return {
     x: parseInt(event.pageX || event.X),
     y: parseInt(event.pageY || event.Y)
    }
   }
   function cancelEvent(event){
    if(event.preventDefault ) {
     event.preventDefault(); 
    } else {
     //IE中阻止函数器默认动作的方式 
     event.returnValue = false; 
    }
    return false;
   }
   function stopDrag(blocker){
    blocker.data('draginfo', {
     isDrag: false
    });
    blocker.css('cursor', "arrow");
   }
   function drag(blocker){
    blocker.data('draginfo', {
     isDrag: false
    });
    blocker.css("position", "absolute");
    blocker.mousedown(function(event){
     event = event || window.event;
     var position = getPosition(event),
      offset = blocker.offset(),
      offsetX = position.x - parseInt(offset.left),
      offsetY = position.y - parseInt(offset.top);
     blocker.css('cursor', "move");
     blocker.data('draginfo', {
      isDrag: true,
      offsetX: offsetX,
      offsetY: offsetY 
     });
     cancelEvent(event);
    });
    blocker.mouseup(function(){
     stopDrag($(this));
    });
    $(document).mousemove(function(event){
     var dragInfo = blocker.data('draginfo');
     if(!dragInfo.isDrag) { 
      return;
     }
     event = event || window.event;
     var position = getPosition(event),
      x = position.x - dragInfo.offsetX,
      y = position.y - dragInfo.offsetY;
     blocker.css({
      "left": x + "px",
      "top": y + "px"
     });
     cancelEvent(event);
    }).mouseup(function(){
     stopDrag(blocker);
    });
   }
   function loopScaleXBlock(timeout, mode, blocker, scaleX){
    scaleXBlock(blocker, scaleX);
    setTimeout(function(){
     if(mode == "bigger") {
      if(scaleX < 1) {
       scaleX += 0.05;
      } else {
       mode = "smaller";
       scaleX = 1;
      }
     } else {
      if(scaleX > 0) {
       scaleX -= 0.05;
      } else {
       mode = "bigger";
       scaleX = 0.05;
      }
     }
     loopScaleXBlock(timeout, mode, blocker, scaleX);
    }, timeout);
   }
   function initDrag(){
    var dragList = $(".drag");
    for(var i=0,length=dragList.length; i<length; i++) {
     drag($(dragList[i]));
    }
   }
   function initScaleX(){
    var scaleXList = $(".scale");
    for(var i=0,length=scaleXList.length; i<length; i++) {
     loopScaleXBlock(10 * i + 10, "smaller", $(scaleXList[i]), 1);
    }
   }
   $(document).ready(function(){
    initScaleX();
    initDrag();
   });
  </script>
  <style type="text/css" >
   body 
   { 
    margin:0;
    background:black;
   }
   .block 
   { 
    position: absolute;
    text-align: center; 
    display: block; 
    width: 250px; 
    height: 250px; 
    background: #494949;
    font-size: 80px;
    color: #fff;
    line-height: 125px;
    text-shadow: 2px 2px 2px #fff;
    box-shadow: 2px 2px 2px #fff;
    cursor: pointer;
    opacity: 0.6;
    filter: alpha(opacity=60);
   }
   #scale
   {
    left:0;
    top:0;
   }
   #scale2
   {
    left:300px;
    top:0;
    background: #F2F2F2;
    color: orange;
   }
   #scale3
   {
    left:600px;
    top:0;
    background: orange;
    color: #494949;
   }
   #scale4
   {
    left:900px;
    top:0;
    background: green;
    color: gray;
   }
   #scale5
   {
    left:1200px;
    top:0;
    background: #494949;
    color: orange;
   }
  </style>
 </head>
 <body>
  <div class="block scale drag" id="scale">
   欢迎来看咧
  </div>
  <div class="block scale drag" id="scale2">
   欢迎来看咧
  </div>
  <div class="block scale drag" id="scale3">
   欢迎来看咧
  </div>
  <div class="block scale drag" id="scale4">
   欢迎来看咧
  </div>
  <div class="block scale drag" id="scale5">
   欢迎来看咧
  </div>
 </body>
</html>

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
js控制的回到页面顶端goTop的代码实现
Mar 20 Javascript
js中 javascript:void(0) 用法详解
Aug 11 Javascript
jQuery过滤特殊字符及JS字符串转为数字
May 26 Javascript
Bootstrap作品展示站点实战项目2
Oct 14 Javascript
微信开发 消息推送实现代码
Oct 21 Javascript
JS实现合并json对象的方法
Oct 10 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
Oct 27 Javascript
JavaScript时间戳与时间日期间相互转换
Dec 11 Javascript
基于openlayers4实现点的扩散效果
Aug 17 Javascript
使用webpack构建应用的方法步骤
Mar 04 Javascript
javascript实现支付宝滑块验证码效果
Jul 24 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
Sep 07 Javascript
jquery+css3实现会动的小圆圈效果
Jan 27 #Javascript
再谈JavaScript异步编程
Jan 27 #Javascript
简单介绍jsonp 使用小结
Jan 27 #Javascript
理解javascript异步编程
Jan 27 #Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
Jan 27 #Javascript
AngularJS转换响应内容
Jan 27 #Javascript
jQuery+css实现的切换图片功能代码
Jan 27 #Javascript
You might like
用DBSQL类加快开发MySQL数据库程序的速度
2006/10/09 PHP
php利用gd库为图片添加水印
2016/11/09 PHP
PHP实现字符串大小写转函数的功能实例
2019/02/06 PHP
javascript小数计算出现近似值的解决办法
2010/02/06 Javascript
javascript各浏览器中option元素的表现差异
2011/04/07 Javascript
Javascript中 关于prototype属性实现继承的原理图
2013/04/16 Javascript
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
一个JavaScript用逗号分割字符串实例
2014/09/22 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
JavaScript使用Replace进行字符串替换的方法
2015/04/14 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
jQuery EasyUI之DataGrid使用实例详解
2016/01/04 Javascript
MVC+jQuery.Ajax异步实现增删改查和分页
2020/12/22 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
2016/07/24 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
详细分析单线程JS执行问题
2017/11/22 Javascript
Vue开发之封装分页组件与使用示例
2019/04/25 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
[00:32]2018DOTA2亚洲邀请赛Mineski出场
2018/04/04 DOTA
Python 的 with 语句详解
2014/06/13 Python
python中的&amp;&amp;及||的实现示例
2019/08/07 Python
Python 识别12306图片验证码物品的实现示例
2020/01/20 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
GWebs公司笔试题
2012/05/04 面试题
电子商务专业在校生实习自我鉴定
2013/09/29 职场文书
机械化及自动化毕业生的自我评价分享
2013/11/06 职场文书
员工团队活动方案
2014/08/28 职场文书
学历证明范文
2015/06/16 职场文书
教你用Python爬取英雄联盟皮肤原画
2021/06/13 Python
Python一些基本的图像操作和处理总结
2021/06/23 Python
Python使用psutil库对系统数据进行采集监控的方法
2021/08/23 Python
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
2022/04/29 Servers
mysql sock 文件解析及作用讲解
2022/07/15 MySQL