second

####复习

在使用了box-sizing之后 加padding比较 多 加margin可能会造成内容的溢出

设置margin的大小时不算进和自宽度的 padding是由算进去的 所以使用 padding

移动端搜索

移动端获取页面的滚动距离使用

var scrollTop = document.body.scrollTop; 
没有其他的兼容性
引入js文件使用
<script src="js/index.js"></script>

思考如何解决 offsetHeight无法获取问题

移动端触摸事件
解释touch:
1. touch是移动端的触摸事件 而且是一组事件
2. touchstart   当手指触摸屏幕的时候触发
3. touchmove    当手指在屏幕来回的滑动时候触发
4. touchend     当手指离开屏幕的时候触发
5. touchcancel  当被迫终止滑动的时候触发(来电,弹消息)
6. 利用touch相关事件实现移动端常见滑动效果和移动端常见的手势事件
  1. 绑定事件:

使用 box.addEventListener(‘touchstart’, function (){

})

事件对象

名字 touchlist 触摸点(一个手指触摸就是一个触摸点,两个手指就有两个,也就是和屏幕的接触点个数)的集合

changedTouches 改变后的触摸点集合

targetTouches 当前触摸点集合

touches 页面上所有触摸点的集合

触摸点集合在每个事件触发的时候会不会记录触发

changesTouches 每个事件都会记录

targetTouches touches 在离开屏幕的时候不会记录触摸点

分析滑动实现的原理

就是让触摸的元素随着手指的滑动位置的改变

位置的改变

需要当前手指的坐标

在每个触摸点中会记录当前触摸点的坐标 e.touches[0] 第一个触摸点

 clientX clientY      基于浏览器窗口(视口)
 pageX   pageY        基于页面(视口)
 screenX screenY      基于屏幕
使用任何一种都可以
轮播图需求分析
/*1. 自动轮播图且无缝   定时器,过渡*/
/*2. 点要随着图片的轮播改变  根据索引切换*/
/*3. 滑动效果  利用touch事件完成*/
/*4. 滑动结束的时候    如果滑动的距离不超过屏幕的1/3  吸附回去   过渡*/
/*5. 滑动结束的时候    如果滑动的距离超过屏幕的1/3  切换(上一张,下一张)根据滑动的方向,过渡*/
自动轮播与无缝轮播与优化
轮播图点的设置

伪数组不能直接调用 forEach方法

伪数组就是指 比如获取dom元素多个li的集合 就是伪数组

滑动效果
解决一个bug 当点一下 不滑动 轮播图不转

解决了 在重启定时器 的代码需要放在判断之外

移动端滑动的手势
手势事件 swipe swipeLeft swipeRight swipeUp swipeDown
/*1. 理解移动端的手势事件*/
/*2. swipe swipeLeft  swipeRight swipeUp swipeDown */
tap(轻触)事件

轻击 轻触 响应速度块

移动的click事件 反应慢 为了区分滑动和点击 会延迟300ms

使用tab事件 解决click事件反应慢

是通过touch原生事件衍生过来的 了解其原理

在一定时间内没有滑动 就是点击

if ((Date.now() - startTime) < 150 && !isMove) {
     callback && callback.call(this, e);
   }
使用fastclick插件 解决响应慢
4.2 使用一个叫:fastclick.js 提供移动端click响应速度的
4.2.1 下载:https://cdn.bootcss.com/fastclick/1.0.6/fastclick.min.js
<script src="../js/fastclick.min.js"></script>
<script>
    /*当页面的dom元素加载完成*/
    document.addEventListener('DOMContentLoaded', function() {
        /*初始化方法*/
        FastClick.attach(document.body);
    }, false);
    /*正常使用click事件就可以了*/
</script>

引入上面的文件后 就可以正常的使用click了

倒计时

有浮动 需要给父元素清除浮动 不然会出现闪动 意想不到的事情

顶部通栏

裁剪背景

 /*让背景图片从内容区域开始平铺*/
    background-origin: content-box;
    /*没有做背景裁剪 背景图默认就是从边框显示*/
    /*默认的就是
    border-box  边框以外被裁剪掉
    padding-box 内边距以外被裁剪掉
    content-box 内容以外被裁剪掉
    */
    background-clip: content-box;

因为这个案例的下拉可以无限的长 所以需要高度也是100%

两栏自适应

左栏浮动 右栏超出的部分 overflow: hidden

overflow: hidden在这里的作用
/*让这个元素绝对绝缘  bfc*/
/*不让其他浮动元素影响自己*/
/*不让自己的浮动去影响别的元素*/

在案例两栏自适应里面有

iscroll的使用

文件里有具体使用文档

浮动的时候记住 调换一个div的位置

第一个div占满位置 第二个div就会在第一个div后面排列下去

两栏自适应 浮动元素优先写在前面

text-right文本向右对齐

text-left文本向左对齐

less使用安装

安装

npm install -g less

lessc -v 查看版本

学习网址
1.1.2学习less
[官网](http://lesscss.org/)
    [中文网](http://lesscss.cn/)  http://www.1024i.com/demo/less/
Webstrom 插件
Lessc less.less less.css  编译less文件成css
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值