移动互联学习基础

这篇博客介绍了移动开发中的动画基础,包括CSS的transition动画和transform元素2D变化,详细讲解了平移、旋转、缩放和倾斜。此外,还提到了jQuery的基本使用方法,canvas画布的绘图操作,以及微信小程序中的常用标签和导航方法。
摘要由CSDN通过智能技术生成

目录

1.transition动画

2.元素2D变化transform

3.jquery

4.canvas画布

5.微信小程序


1.transition动画

  播放过度动画至少包含 transition-property transition-duration 

   1) transition-property 还有两个待选项

                none

                all: 所有属性都能播放过渡动画

    2)动画播放的时长 

            transition-duration: 5s;

transition-duration: 5s;

    3) 动画播放的速度曲线 

              linear: 匀速直线运动

                ease-in: 慢进

                ease-out: 慢出

                ease-in-out: 慢进慢出

                cubic-bezier: 曲线函数

 transition-timing-function:linear;

    4)动画播放延迟 

            transition-delay: 3s;

transition-delay:3s;

     5)合成属性

                语法:

                transition: property duration timing-function delay;

 transition: property duration timing-function delay;

2.元素2D变化transform

1.平移
transform变换,用于描述物体的位置旋转缩放
translate平移,第一个参数:水平平移量(x轴);第二个参数:竖直平移量(y轴)
右为正方向:左移正数,右移负数
transform:translate(100px,200px)
translateX/Y/Z();独立的在某一个轴上平移,单参数

2.旋转
transform:rotate()
rotate()旋转
单位:deg角度,rad弧度
参数:可以是角度值,也可以是弧度值
转换:弧度制的PI=180°
旋转的正方向(顺时针)就是数值的正方向(正值),0度代表竖直向上;负数的含义就是360度-对应的度数,如(-30deg)=(360-30deg)=(30deg);默认旋转函数rotate是沿着z轴(即垂直屏幕的线)进行旋转的。
rotateX()沿着水平轴进行旋转,对称轴为横向,类似滚筒旋转
rotateY()与X轴相反

3.缩放
scale()缩放
scale(水平方向,竖直方向)缩放,可以单参数也可以双参数
transform:scale(1) //1倍大小(即原来的大小)
transform:scale(-1) //反向
参数:比率;1为原本大小
写负数代表反向
scaleX()水平方向的缩放(变瘦)
scaleY()竖直方向的缩放(变高变大)

4.倾斜
transform:skew();
skew()倾斜,参数为角度值
skew(水平方向,竖直方向)缩放,可以单参数也可以双参数
 

3.jquery

 jquery 使用的方法:

1) 查询并存储元素

 2) 操作元素,包括修改元素样式,绑定事件等

  使用 $() 函数获取一个 jQuery 对象, jquery 对象的变量名 一般以 $ 美元符开头

    let $box = $('.box')

   jquery 对象看上去像一个数组 其中数组成员就是 dom 对象

   给元素添加样式

   $box.css('height', '100px')

 jquery对象的函数总返回自己 所以可以进行链式调用

 3)查询元素

 const $box = $('.box')

  读取元素位置  position 查询元素相对于父元素的位置 不能赋值只能读值

    console.log($box.position());

    offset 查询元素全局坐标

    console.log($box.offset()); 

    offset 可以赋值

    $box.offset({ top: 200, left: 100 })

    所有查询元素大小的函数均可赋值

    查询元素的内容宽高

    console.log($box.width(300));

    console.log($box.height());

    innerWidth 代表 width + padding

    console.log($box.innerWidth());

     outerWidth 代表 width + padding + border

    console.log($box.outerWidth());

4.canvas画布

1)基本使用方法

 const canvas = document.querySelector('canvas')

    // 获取canvas标签的画布对象

    // 可以通过操作画布对象来进行绘画

    const ctx = canvas.getContext('2d')

    // 绘制一个实心矩形

    ctx.fillRect(100, 50, 100, 100)

      总结:

     使用canvas的步骤

    // 1. 创建canvas标签

    // 2. 给canvas标签设置 width height 属性

    // 3. 通过js 获取canvas标签

    // 4. 通过canvas标签获取context画布上下文(画布对象)

    // 5. 通过context绘制画布

 2)画线

   设置颜色和线宽

    ctx.strokeStyle = '#ff0'

    ctx.lineWidth = 15

     画线分两个步骤:

     1. 描点(设置路径)

     2. 画线(将所描的点连接起来)

   步骤一

   使用 beginPath 开启路径

    ctx.beginPath()

    // 移动笔头但不会记录路径上的线条

    ctx.moveTo(400, 100)

    // 用线绘制到下一个点

    ctx.lineTo(200, 200)

    ctx.lineTo(600, 200)

    ctx.lineTo(400, 100)

  // 将路径封闭

    ctx.closePath()

 // 注意:beginPath在画新的路径的时候必须调用,closePath选择性调用

  步骤二

    // 为了显示图形需要调用以下函数

    // 将路径所包围的图形用纯色来填充

    // ctx.fill()

    // 将路径用镂空线条进行绘制

    ctx.stroke()

   ctx.strokeStyle = '#f00'

   ctx.beginPath()

   ctx.moveTo(400, 400)

    ctx.lineTo(500, 400)

5.微信小程序

1)常用标签

<!-- page 标签相当于 html 中的 body -->

<page></page>

<!-- view 标签相当于 html 中的 div -->

<view></view>

<!-- text 相当于 html 中的 span -->

<text></text>

<!-- image 相当于 html 中的 img -->

<image></image>

<!-- block 是一个自身不会显示的标签 -->

导航:引导页面跳转到指定位置

导航方法有两种:1. 页面标签进行导航,类似 html 中的 a 标签;2. 使用js进行导航,类似于 location.href

## 使用 navigator 标签

文档:https://developers.weixin.qq.com/miniprogram/dev/component/navigator.html

语法:

html

<!-- url:要跳转到的页面路径 -->

<!-- 若要传递参数,可以在url后面增加 ?key=value 的参数 -->

<navigator url="path"></navigator>

## 使用 wx.navigateTo 函数

文档:https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateTo.html

语法:

js

function(){

    wx.navigateTo({

        // path: 要跳转的路径

        // key=value: 要传递的参数

        url: 'path?key=value'

    })

}

// wx.navigateTo 跳转到某页 会新增堆栈

// wx.redirectTo 重定向到某页 不会新增堆栈

// wx.navigateBack 返回

> 参数的获取可以在另一个页面的 onLoad 声明周期函数中 options 变量中存放着参数
eg:

 "tabBar": {
        "selectedColor": "#000",
        "list": [
            {
                "bak": "pages/lead-read/lead-read",
                "pagePath": "pages/lead-read/lead-read",
                "text": "领读",
                "iconPath": "image/tab_icon1.png",
                "selectedIconPath": "image/tab_icon1_active.png"
            },
            {
                "pagePath": "pages/category/category",
                "text": "分类",
                "iconPath": "image/tab_icon2.png",
                "selectedIconPath": "image/tab_icon2_active.png"
            },
            {
                "pagePath": "pages/desk/desk",
                "text": "书桌",
                "iconPath": "image/tab_icon3.png",
                "selectedIconPath": "image/tab_icon3_active.png"
            },
            {
                "pagePath": "pages/ucenter/ucenter",
                "text": "个人中心",
                "iconPath": "image/tab_icon4.png",
                "selectedIconPath": "image/tab_icon4_active.png"
            }
        ]
    }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值