在的移动端页面中,很多网站都用到了侧边切换菜单栏功能,针对于该功能, 利用CSS3的知识,写了一个实现侧滑的效果。
效果展示如下:
HTML:首先写好侧边的布局。然后不是侧边的内容块最好用一个内容块包围住。
CSS样式
给侧边菜单定位,起始位置为left:-50%,当点击菜单的展开按钮,侧边菜单就加上open类目,让left:值为0,即展开切换。同理。main也一样。
JQ代码
当点击菜单展开按钮 定义类名为 f-lei,侧边菜单切换添加删除类open, 主内容切换添加删除类show。当侧边展开时,点击展开的剩余背景能收缩展开的菜单栏。
几天用js实现了鼠标拖动div的功能,但是用起来不是那么便捷,于是想着把这个功能做成一个组件,使用的时候直接引入,不用再写那么多冗余代码了。
js组件的基本写法和div拖动的逻辑就不再赘述了,前面文章已经说过了,可点击下面链接查看
js实现div可拖动
js组件的基本写法
在这里主要分析下怎么限制拖动的范围,先看下图:
限制范围
拖动时有四种边缘情况,即图中的1、2、3、4,我们一一来看
理论知识弄明白了,我们先看下实现的效果吧
有范围的拖动
html中引入组件,并初始化
html中引入组件
具体的js组件实现
js拖动组件1
js拖动组件2
文介绍如何使用和HTML5 Canvas元素来移动、调整大小和裁剪图像,这些技术适用于图片编辑器、照片分享等应用场景。
一般而言图像的剪裁会放在服务端进行,但是图片传送会消耗较多的流量。借助HTML5 Canvas绘图功能,可以在浏览器端以比较简单的方式来实现。
代码和在线演示地址:http://ikinsoft.com/3ddemo/CanvasImage.html,可以先操作下,有个整体印象,界面截图如下:
构建界面布局和元素
HTML页面由源图片、Crop操作按钮、裁剪矩形框以及图片容器(含4个角的调整小方块)组成,主体代码如下:
img[class=resize-image] 元素为本服务器图片资源,是要进行调整和裁剪的图片。注意出于安全策略,不能在浏览器中跨域操作图片,否则会出现类似下面的报错信息:
button[class=btn-crop] 是SVG矢量图标按钮。
div[class=overlay] 元素是裁剪矩形框。
此外图片容器使用JavaScript动态包装在 img[class=resize-image] 元素外部:
大小调整通过先在Canvas上绘制一个对应大小的图像,接着通过Canvas的toDataURL方法转化为base64编码的字符串形式的图片数据。最后把该data:URL通过设置为img的src属性,附着到目标图像元素上。
通过mouseup事件获取新的位置,然后通过的offset方法来完成元素偏移。
这个主要是实现一个居中的覆盖矩形(overlay),接着通过计算背景图片和该覆盖矩形的偏移来获取图片裁剪区域的坐标,
然后再通过Canvas的drawImage和toDataURL完成裁剪图的绘制。
最后再加上一些移动功能,如触摸事件(Touch)和手势(Gesture)检测的支持。
*请认真填写需求信息,我们会在24小时内与您取得联系。