Web前端开发网

fly63.com

首页 资源 工具 文章 教程 栏目
  • 关于我们
  • 网站投稿
  • 赞助一下

关闭

搜索

在线工具_工作生活好帮手

打造各种简单、易用、便捷的在线工具,网友无需注册和下载安装即可使用

点击查看

资源分类

AI智能 酷站推荐 招聘/兼职 框架/库 模块/管理 移动端UI框架 Web-UI框架 Js插件 Jquery插件 CSS相关 IDE环境 在线工具 图形动效 游戏框架 node相关 调试/测试 在线学习 社区/论坛 博客/团队 前端素材 图标/图库 建站资源 设计/灵感 IT资讯
提交资源 / 链接反馈

interact.js

分享
复制链接
新浪微博
QQ 好友

扫一扫分享

网站地址:http://interactjs.io/
GitHub:https://github.com/taye/interact.js
网站描述:用于拖放,调整大小Js插件
访问官网 GitHub

interact.js是一个随意改变形状插件,它非常强大的,灵活拖放,改变大小,支持现代浏览器的多点触摸手势,基于SVG的运用,能运行在包括在IE8+的浏览器。  功能包括:

  • 惯性和对齐

  • 多点触控,同步互动

  • 跨浏览器和设备,支持Chrome,Firefox和Opera以及Internet Explorer 9+的桌面和移动版本

  • 与SVG元素的交互

  • 是独立的,可定制

  • 不修改dom除了更改光标(但你可以禁用它) 


安装

npm install interactjs

例子

var pixelSize = 16;

interact('.rainbow-pixel-canvas')
  .origin('self')
  .draggable({
    modifiers: [
      interact.modifiers.snap({
        // snap to the corners of a grid
        targets: [
          interact.snappers.grid({ x: pixelSize, y: pixelSize }),
        ],
      })
    ],
  })
  // draw colored squares on move
  .on('dragmove', function (event) {
    var context = event.target.getContext('2d'),
        // calculate the angle of the drag direction
        dragAngle = 180 * Math.atan2(event.dx, event.dy) / Math.PI;

    // set color based on drag angle and speed
    context.fillStyle = 'hsl(' + dragAngle + ', 86%, '
                        + (30 + Math.min(event.speed / 1000, 1) * 50) + '%)';

    // draw squares
    context.fillRect(event.pageX - pixelSize / 2, event.pageY - pixelSize / 2,
                     pixelSize, pixelSize);
  })
  // clear the canvas on doubletap
  .on('doubletap', function (event) {
    var context = event.target.getContext('2d');

    context.clearRect(0, 0, context.canvas.width, context.canvas.height);
  });

  function resizeCanvases () {
    [].forEach.call(document.querySelectorAll('.rainbow-pixel-canvas'), function (canvas) {
      canvas.width = document.body.clientWidth;
      canvas.height = window.innerHeight * 0.7;
    });
  }

  // interact.js can also add DOM event listeners
  interact(document).on('DOMContentLoaded', resizeCanvases);
  interact(window).on('resize', resizeCanvases);



仅供个人学习参考/导航指引使用,具体请以第三方网站说明为准,本站不提供任何专业建议。如果地址失效或描述有误,请联系站长反馈~感谢您的理解与支持!

链接: https://fly63.com/nav/1909

more>>
相关栏目
react
Facebook开发的一款高效、灵活、声明式设计的JS库
官网 GitHub
AngularJS
Google推出有条理,可维护,易编程的MVVM框架
官网 GitHub
backbone
提供:模型、集合、视图,开发重量级的javascript应用的框架
官网 GitHub
jquery
一个快速、简洁的JavaScript代码库
官网 GitHub
zepto.js
一个轻量级的针对现代高级浏览器的JavaScript库
官网 GitHub
Ember
JavaScript MVC框架,它用来创建复杂的Web应用程序,消除了样板
官网 GitHub
nw.js
轻量级桌面应用开发的捷径
官网 GitHub
socket.io
一个WebSocket库,包括了客户端的js和服务器端的nodejs
官网 GitHub
nuxt.js
基于 Vue.js 的轻量级、服务端渲染 (SSR) 应用框架
官网 GitHub
Next.js
实现react的服务端渲染的框架
官网 GitHub
Electron
基于Chromium 和 Node.js, 使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用
官网 GitHub
htmx
无需JavaScript的动态HTML
官网 GitHub
Nerv
一款由京东凹凸实验室打造的类React前端框架
官网 GitHub
lodash
一致性、模块化、高性能的 JavaScript 实用工具库
官网 GitHub
ocLazyLoad
AngularJS 的延迟加载(惰性加载)模块和组件
点击进入 GitHub
weui.js
WeUI 的轻量级 js 封装
点击进入 GitHub
首页 技术导航 在线工具 技术文章 教程资源 AI工具集 前端库/框架 实用工具箱

Copyright © 2018 Web前端开发网提供免费在线工具、编程学习资源(教程/框架/库),内容以学习参考为主,助您解决各类实际问题,快速提升专业能力。

手机预览