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 获取span标签中的值的代码 支持ie与firefox
Aug 24 Javascript
jQuery中与toggleClass等价的程序段 以及未来学习的方向
Mar 18 Javascript
javascript解析json实例详解
Nov 05 Javascript
js实现的早期滑动门菜单效果代码
Aug 27 Javascript
javaScript中的原型解析【推荐】
May 05 Javascript
js对字符串进行编码的方法总结(推荐)
Nov 10 Javascript
self.attachevent is not a function的解决方法
Apr 04 Javascript
基于jQuery和CSS3实现APPLE TV海报视差效果
Jun 16 jQuery
react-native动态切换tab组件的方法
Jul 07 Javascript
js拖动滑块和点击水波纹效果实例代码
Oct 16 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
Aug 07 Javascript
jQuery实现朋友圈查看图片
Sep 11 jQuery
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
php获取$_POST同名参数数组的实现介绍
2013/06/30 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
PHP访问数据库集群的方法小结
2016/03/14 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
php + nginx项目中的权限详解
2017/05/23 PHP
js chrome浏览器判断代码
2010/03/28 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
javascript判断非数字的简单例子
2013/07/18 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
jQuery Dialog 取消右上角删除按钮事件
2016/09/07 Javascript
jquery获取点击控件的绝对位置简单实例
2016/10/13 Javascript
Bootstrap的基本应用要点浅析
2016/12/19 Javascript
js实现简单的手风琴效果
2017/02/27 Javascript
VSCode 配置React Native开发环境的方法
2017/12/27 Javascript
Vue2.0 v-for filter列表过滤功能的实现
2018/09/07 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
vue中keep-alive内置组件缓存的实例代码
2020/04/16 Javascript
基于javascript的无缝滚动动画1
2020/08/07 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
使用python实现strcmp函数功能示例
2014/03/25 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
一文了解python 3 字符串格式化 F-string 用法
2020/03/04 Python
Python json读写方式和字典相互转化
2020/04/18 Python
纯css3制作煽动翅膀的蝴蝶的示例
2018/04/23 HTML / CSS
阿迪达斯奥地利官方商城:adidas.at
2016/10/16 全球购物
香港迪士尼乐园酒店预订:Hong Kong Disneyland Hotels
2017/05/02 全球购物
丝绸和人造花卉、植物和树木:Nearly Natural
2018/11/28 全球购物
瑞士图书网站:Weltbild.ch
2019/09/17 全球购物
精彩的英文自荐信
2014/01/30 职场文书
高中学生干部学习的自我评价
2014/02/21 职场文书
征求意见函
2015/06/05 职场文书
MySQL基础快速入门知识总结(附思维导图)
2021/09/25 MySQL
Windows Server 2019 安装DHCP服务及相关配置
2022/04/28 Servers