码迷,mamicode.com
首页 > Web开发 > 详细

学习Js小结

时间:2016-08-24 01:07:08      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:

跟着慕课网老师码代码,对于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

学习Js小结

标签:

原文地址:http://www.cnblogs.com/ACMessi/p/5801315.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!