ks教师视频

自我介绍.mp4

自我介绍男孩.mp4

E story.mp4

D story.mp4

B story.mp4

B bear.mp4

A chant.mp4

F song.mp4

D song.mp4

G story.mp4

G chant.mp4

H  hippo.mp4

E song.mp4

H chant.mp4

D E F chant .mp4



外教KS所有视频

http://img.luqidong.com/video/wjks/cow%20dog%20cat%20bee.mp4


http://img.luqidong.com/video/wjks/dark%20colors.mp4


http://img.luqidong.com/video/wjks/light%20colors.mp4


http://img.luqidong.com/video/wjks/line.mp4


http://img.luqidong.com/video/wjks/orange%20green.mp4


http://img.luqidong.com/video/wjks/red%20yellow.mp4


http://img.luqidong.com/video/wjks/wind%20rain.mp4







webstrom 2016 破解 激活方法

webstrom 2016 破解 激活方法

菜单help >>>> Register 

选择License Server 

输入

http://idea.qinxi1992.cn/点击ok



webstrom 使用技巧合集

最近玩了一下SASS,感觉不错,不过CSS3在不同平台兼容性代码一直是个头痛的问题,手写处理费时费力又容易出错。
曾经一直用sublime text写html和css,这些问题都有相应的插件。用Webstorm写js,但是来回切换编辑器也比较麻烦。
虽然Webstorm内置了css3自动补全功能,当输入user-select时,Webstorm会自动补全:

  1. -webkit-user-select: none;

  2. -moz-user-select: none;

  3. -ms-user-select: none;

  4. user-select: none;

但是很多情况下,这种自动补全并不令人满意,比如当我输入display:flex;时,Webstorm并不会自动补全为:

display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;

关于Autoprefixer

Autoprefixer是一个后处理程序,不象Sass以及Stylus之类的预处理器。它适用于普通的CSS,可以实现css3代码自动补全。也可以轻松跟Sass,LESS及Stylus集成,在CSS编译前或编译后运行。详情见,https://github.com/postcss/autoprefixer

当Autoprefixer添加前缀到你的CSS,还不会忘记修复语法差异。这种方式,CSS是基于最新W3C规范产生:

a {background : linear-gradient(to top, black, white);display : flex}::placeholder {color : #ccc}

编译成:

a {background : -webkit-linear-gradient(bottom, black, white);background : linear-gradient(to top, black, white);display : -webkit-box;display : -webkit-flex;display : -moz-box;display : -ms-flexbox;display : flex}:-ms-input-placeholder {color : #ccc}::-moz-placeholder {color : #ccc}::-webkit-input-placeholder {color : #ccc}::placeholder {color : #ccc}

Autoprefixer 同样会清理过期的前缀,因此下面的代码:

a {-webkit-border-radius : 5px;border-radius : 5px}

编译成:

a {border-radius : 5px}

因为经过Autoprefixer处理,CSS将仅包含实际的浏览器前缀。

具体安装和配置:

所以尝试在Webstorm下搜索autoprefixer插件,无果。那就自己手动配置了一个。首先我考虑配置File Watchers,但是不习惯,原来在sublime text下用autoprefixer都是手动触发的,所以后面我配置了External Tools。

1.首先当然是安装node.js;

(略)

2.安装Autoprefixer,

见https://github.com/postcss/autoprefixer:

sudo npm install autoprefixer -g

要不要加sudo,或者是不是全局安装(-g)那就看你自己的环境了。

npm太慢,我是用淘宝的 NPM 镜像的https://npm.taobao.org/

3.安装postcss-cli

Autoprefixer其实是postcss的插件,见https://github.com/code42day/postcss-cli

sudo npm install postcss-cli -g

4.配置External Tools

打开Webstorm设置,Preferences -> Tools -> External Tools ;点击新增按钮,如图:

769EDD8B-6AF0-4D6B-B73B-DF2DC25FAA1F

填写具体配置,例如我的配置,如图:

0C4975D0-6531-432B-8812-46D56164B817

  1. Program:填入你的postcss-cli 的PATH;

  2. Parameters: -u autoprefixer -o $FileDir$/$FileName$  $FileDir$/$FileName$ ,你可以根据你自己的需要配置,具体参见https://github.com/code42day/postcss-cli

  3. Working directory :$ProjectFileDir$

配置好后,你可以在css,或sass文件中右键,就可以在右键菜单中看到External Tools – autoprefixer,点击搞定,嘎嘎。

5.设置快捷键

右键太麻烦的话,可以设置个快捷键,打开Webstorm设置,Preferences -> Keymap , 搜索External Tools , 配置 autoprefixer即可。 不要和原来的冲突就可以了。

ps:windows下可以直接用autoprefixer的PATH,具体配置

414473-5caba82f3555f590 (1)


windows 找不到autoprefixer.cmd,webstrom无法用执行autoprefixer 这个问题,
可以配置
Program:C:\Users\gaojun-pd\AppData\Roaming\npm\postcss.cmd
Parameters:-u autoprefixer -o $FileDir$\$FileName$ $FileDir$\$FileName$
Working directory :$ProjectFileDir$


web移动端元素内元素滑动不流畅

解决方法:

外面的元素加{ overflow: auto; -webkit-overflow-scrolling: touch; } 样式


webstrom 11 激活方法

在点击试用30天之前把本地时间调整到2090年,然后关闭吧时间改回来再打开webstrom 就好啦。


caspejs 中文乱码解决方案

在文件头部加入

  1. phantom.outputEncoding="GBK";

就能解决 比如

phantom.outputEncoding="GBK";

var casper = require('casper').create();


casper.start('http://www.baidu.com/', function() {

    this.echo(this.getTitle());

});


casper.thenOpen('http://www.luqidong.com', function() {

    this.echo(this.getTitle());

});


casper.run();



CasperJS needs PhantomJS v1.x 解决方案

问题出现原因:phantomjs 2.0.0 不稳定用1.9.8 就没问题

 解决方案:

1、换1.9.8版本的phantomjs

2、打开casperjs 里面的bootstrap.js  地址在 \bin\里面 

然后找到 判断phantomjs 版本的地方

替换成一下代码

(function (version) {
    // required version check
    if (version.major === 1) {
        if (version.minor < 8) {
            return __die('CasperJS needs at least PhantomJS v1.8 or later.');
        }
        if (version.minor === 8 && version.patch < 1) {
            return __die('CasperJS needs at least PhantomJS v1.8.1 or later.');
        }
    } else if (version.major === 2) {
        console.log("Warning PhantomJS v2.0 not yet released. There will not be any official support for any bugs until stable version is released!");
    }
    else return __die('CasperJS needs PhantomJS v1.x or v2.x');
})(phantom.version);



深入理解 javascript 中的 this 指向

   别指望看几篇讲解就能看懂js里面的this。我也是前后翻阅了很多资料最后稍微有点懂的。

javascript里面的this跟大多数语言类似,总是指的一个对象,而具体的指向哪个对象是在运行时基于函数的执行环境动态绑定的,二不是函数被声明时的环境。

  基本 this的指向大致分为以下四种

  • 作为对象的方法调用

  • 作为普通函数调用

  • 构造器调用

  • Function.prototype.call或Function.prototype.apply调用

  下面详细讲解下

1、作为对象的方法调用

当函数作为对象的方法调用的时候,this指向该对象

var obj = {
    a: 1,
    getA: function () {
        alert(this === obj);//true
        alert(this.a);//1
    }
};
obj.getA();

2、作为普通函数调用

当函数不作为对象的属性被调用的时候,也就是我们常说的普通函数方式,此时this总是指向全局对象,在浏览器的javascript里,这个全局对象就是window对象。

window.name ='globalName';
var getName = function(){
    return this.name;
};
console.log(getName()); //globalName

//or

window.name ='globalName';
var myobj ={
    name:'sven',
    getName:function(){
        return this.name;
    }
};
myobj.getName() ;//sven
var getName = myobj.getName;
console.log(getName());// globalName

  但是有时候我们会遇到一些困扰,比如在div节点的时间函数内部,有一个局部的callback方法,callback被作为普通函数调用时,callback内部的this指向了window,但是我们往往想让他指向该div节点,代码:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<div id="div1">我是一个div</div>
<script>
    window.id = "window";
    document.getElementById("div1").onclick = function () {
        alert(this.id);
        var callback = function () {
            alert(this.id);
        };
        callback();
    }
</script>
</body>
</html>

此时有一个简单的解决方案,可以用一个变量保存div节点的引用。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<div id="div1">我是一个div</div>
<script>
    window.id = "window";
    document.getElementById("div1").onclick = function () {
        var that =this;
        alert(this.id);
        var callback = function () {
            alert(that.id);
        };
        callback();
    }
</script>
</body>
</html>

在ECMAScript 5的 严格模式下,这种情况的this已经被规定为不会指向全局对象,而是undefined。

3、构造器调用

  javascript中没有类,但是可以从构造器中创建对象,同事也提供了new的运算符,使得构造器看起来更像一个类。

  除了宿主提供一些内置函数,大部分的javascript函数都可以当做构造器使用。构造器的外表跟普通函数一模一样,他们的区别在于被调用的方式,当用new运算符调用函数时,该函数总是会返回一个对象,通常情况下,构造器里的this就指向返回的这个对象,如下代码:

var MyClass = function () {
    this.name = 'sven';
};
var obj = new MyClass();
alert(obj.name); //sven


但用new 调用构造器时,还要注意一个问题,如果构造器显式地返回一个object类型的对象,那么此次运算结果最终会返回这个对象,而不是我们期待的this:

var MyClass = function () {
    this.name = 'sven';
    return { //显式滴返回了一个对象
        name: 'anne'
    }
};
var obj = new MyClass();
alert(obj.name); //anne

如果构造器不显式地返回任何数据,或者是返回一个非对象类型的数据,就不会造成以上的问题:

var MyClass = function () {
    this.name = 'sven';
    return 'anne';
};
var obj = new MyClass();
alert(obj.name); //sven

4、Function.prototype.call或Function.prototype.apply调用

  跟普通的函数调用想必,用Function.prototype.call或Function.prototype.apply可以动态第改变传入函数的this:

var obj1 = {
    name: 'sven',
    getName: function () {
        return this.name;
    }
};
var onj2 = {
    name: 'anne'
};

console.log(obj1.getName());//sven
console.log(obj1.getName.call(obj2));//anne

call 和 apply的方法能很好滴体验javascript的函数式编程特性,在javascript中,几乎每一次编写函数式风格的代码,都离不开call和apply。


大白菜U盘制作打开就无响应

问题描述:

打开大白菜之后程序就会无响应卡在那边。


解决方案:

1、关闭迅雷

2、把u盘都拔了 关闭迅雷再打开 程序