js学习笔记----进阶Day02瀑布流和scroll家族

商品展示

  • 进度条长度的设置 : 取决于商品的长度
// 进度条移动 1px 商品移动多少像素
// 内容走的距离 / 滚动条走的距离 =(内容的长度 - 盒子的长度) / (盒子长度 - 滚动条的长度)
//内容走的距离 = (内容的长度 - 盒子的长度) / (盒子长度 - 滚动条的长度) * 滚动条走的距离

oul.style.left = - (oul.offsetWidth - slider.offsetWidth) / (slider.offsetWidth - progress_flag.offsetWidth) * x + 'px';

scroll家族

  • window.onscroll只要当滚动条滚动就会调用

  • box.scrollTop 内容被卷曲的上面距离

  • box.scrollLeft

  • scroll家族可以获取值, 也可以设置值.

  • !!! 而offset家族只能获取值, 不能设置值. 应该用style.xx设置值

获取滚动距离(不同浏览器适配问题---浏览器模式)
  • 浏览器适配问题

document.documentElement.scrollTop;

//或者最新的浏览器获取滚动距离

window.pageYoffset

  • 获取滚动距离的兼容写法 (可以将方法抽取到一个css文件中)
function scroll() {
    if(window.pageYOffset || window.pageXOffset){
        // 是IE9+ 和最新的浏览器
        return {
            top:window.pageYOffset,
            left:window.pageXOffset
        };
    }else if(document.compatMode == "CSS1Compat"){
        // CSS1Compat是w3c标准模式 IE7+
        return {
            top:document.documentElement.scrollTop,
            left:document.documentElement.scrollLeft
        }
    }else {
        // 怪异模式 backCompat. IE6及以下
        return {
            top:document.body.scrollTop,
            left:document.body.scrollLeft
        }
    }
}

瀑布流 !!! 重点

  • 特点: 等宽不等高

  • 优点: 直观 简洁 节省空间

  • 以类型的网站不会在一级页面使用. 因为会影响SEO优化 (可以放在二级页面)

  • description 和 keywords. 这两个关键词的内容可以提高SEO效率.

eg. 京东主页head.png

步骤 :

  1. 父盒子居中 让main在body中居中
  • margin: 0 auto;//使用前提条件: 1. 块级元素 2. 宽高被设定, 并不超过父元素.

  • 求瀑布流的动态宽度 = parseInt(屏幕宽度 / 盒子宽度) * 盒子宽度;

2. 子盒子定位

  • 除了第一行, 其他都要定位. 将下一个盒子拼接到最矮的盒子下面

  • 子盒子定位

创建一个高度数组
var arrH = [];
for(var i = 0; i<allBox.length; i++){
    // 1.取出盒子
    var box = allBox[i];
    // 获取每一个盒子的高度
    var boxH = box.offsetHeight;

    if(i < cols){
        // 第一行
        // 第一行盒子i不需要定位 并且把第一行盒子的高度添加到高度数组中
        arrH.push(boxH);
    }else {
        // 不是第一行
        // 盒子需要定位
        // 每次拼接到最矮盒子的下面
        // 1.从高度数组中找出最小值
        var minH = _.min(arrH);
        // 2.获取最小值的索引
        // indexOf 获取数组中当前值的索引
        var minIndex = arrH.indexOf(minH);
        //检索字符串 str.indexOf('a');  str.lastIndexOf('a');

        // 3.设置当前盒子的x值
        box.style.left = minIndex * boxW + 'px';
        box.style.top = minH + 'px';
        //浏览器中看到top left有值, 但是并不生效 => 是因为没有定位.
        box.style.position = 'absolute';

        // 4.更新高度数组
        arrH[minIndex] = minH + boxH;
    }
}

underscore框架并不会污染变量, 因为使用了闭包.

中部吸顶效果 !!! 常用

  • 使用到h5新增标签 : section 区块; nav 导航;

  • 在>= 给nav添加类名fixed,

.fix{
    position: fixed;
 left: 0;
 top: 0; }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,630评论 1 92
  • 转载请声明 原文链接地址 关注公众号获取更多资讯 第一部分 HTML 第一章 职业规划和前景 职业方向规划定位...
    程序员poetry阅读 16,461评论 32 459
  • DOM总结 1:DOM - document object model 文档对象模型 作用:给我们提供了一些方法...
    盒小饭stone阅读 536评论 0 0
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,760评论 0 6
  • 落叶缤纷 在清晨 在黄昏 在青青草地 妆扮慌张的街道 溜过匆匆的脚步 黄叶摇动枝头,作响 盘旋空中,飞舞 黄叶腾地...
    书生亦百用阅读 312评论 0 1