zoukankan      html  css  js  c++  java
  • 学习Js小结

    跟着慕课网老师码代码,对于JS还是有不少陌生,需要大量的总结,任重而道远。

    脚本功能开发:
    内容输出:Template改造 输出幻灯片&控制按钮 图片位置调整
    切换控制:切换幻灯片 .main-i_active 切换控制按钮 .ctrl-i_active

    0.修改 View->Template(关键字替换),增加template id
    id=template_main
    {{index}}{{h2}}{{h3}}
    切换幻灯片函数:switchSlide();
    1.数据定义(实际生产环境中,应由后台给出)
    2.通用函数
    var g = function(id);
    3.添加幻灯片的操作(所有幻灯片&对应的按钮)
    function addSliders(){
    3.1 获取模板
    var tpl_main = g('template_mai').innerHTML.replace(/^s*/,'')
    .replace(/s*$/,'');
    var tpl_ctrl;
    3.2定义最终输出HTML的变量
    var out_main = [];
    var out_ctrl = [];
    3.3遍历所有数据,构建最终输出的HTML
    for(i in data)
    var _html_main = tpl_main
    .replace(/{{index}}/g,data[i].img)
    .replace(...);
    var _html_ctrl;
    out_main.push(_html_main);
    out_ctrl
    3.4把HTML回写到对应的DOM里面
    g('template_main').innerHTML = out_main.join('');
    g('template_ctrl')
    }
    5.幻灯片切换
    function switchSlider(n)
    5.1获得要展现的幻灯片&控制按钮 DOM
    var main = g('main_'+n);
    var ctrl;
    5.2获得所有的幻灯片以及控制按钮
    var clear_main = g('.main-i')
    var clear_ctrl;
    5.3清除他们的active样式
    for(int i = 0; i < clear_main.length; i++)
    clear_main[i].className = clear_main[i].className.replace(' main-i_active', '');
    clear_ctrl[i]...
    //5.4为当前控制按钮和幻灯片附加样式
    main.className += ' main-i_active';
    ctrl.className += '';

    4.定义何时处理幻灯片输出
    window.onload = function()
    switchSlider(1);

    优化:
    动态全屏居中显示幻灯片:
    Js获得Height,设置margin-top:-1*Height/2,样式配合:top:50%;
    切换幻灯片时,不显示白底:
    增加#main_background 把移走的幻灯片作为切换时背景

    语法:

    数据定义:

    var data = [
      {A:1,B:2,C:3},
      {A:1,B:2,C:3},
      {A:1,B:2,C:3},
      {A:1,B:2,C:3}

    ];

    函数:

    var g = function(id) {
      if(id.substr(0, 1) == '.')
        return document.getElementsByClassName(id.substr(1));
      return document.getElementById(id);

    }

    获取模板:
    var tpl_main = g('template_main').innerHTML

      .replace(/^s*/,'')
      .replace(/s*$/,'');

    数组&正则表达式:
    var out_main = [];

    for(i in data) {
      var _html_main = tpl_main
        .replace(/{{index}}/g, data[i].img)
        .replace(/{{h2}}/g, data[i].h1)
        .replace(/{{h3}}/g, data[i].h2)
        .replace(/{{css}}/g, ['','main-i_right'][i%2]);
      out_main.push(_html_main);
    }

    g('template_main').innerHTML = out_main.join('');

    g('main_{{index}}').id = 'main_background';

    输出:

    window.onload = function(){

      

    }

    其它:

    var main = g('main_'+n);

    clear_main[i].className = clear_main[i].className.replace(' main-i_active', '');

    main.className += ' main-i_active';

    setTimeout(function(){
      g('main_background').innerHTML = main.innerHTML;

    },1000)

    pictures[i].clientHeight

  • 相关阅读:
    kaggle之员工离职分析
    Titanic幸存预测分析(Kaggle)
    学习python,第五篇
    VLAN入门知识
    复习下VLAN的知识
    复习下网络七层协议
    学习python,第四篇:Python 3中bytes/string的区别
    学习python,第三篇:.pyc是个什么鬼?
    学习python,第二篇
    学习python,第一篇
  • 原文地址:https://www.cnblogs.com/ACMessi/p/5801315.html
Copyright © 2011-2022 走看看