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

前端技术 2023/09/03 JavaScript

本文实例讲述了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特效相关内容感兴趣的读者可查看本站专题:《jQuery常见经典特效汇总》及《jQuery动画与特效用法总结》

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

本文地址:https://www.stayed.cn/item/8302

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。