运算符1—JS学习笔记2015-6-13(第56天)

取模在实际案例当中的运用:

隔行换色:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>

<script>
/*
var i = 0;
i++;
if( i === 5 ){
    i = 0;
}
i%=5;
*/
window.onload = function (){
    var aLi = document.getElementsByTagName(‘li‘);
    var arr = [ ‘red‘, ‘yellow‘, ‘blue‘ ];

    for( var i=0; i<aLi.length; i++ ){

        aLi[i].index = i;

        aLi[i].style.background = arr[i%arr.length]; // 这里如果仅仅只是aLi[i].style.background = arr[i],那么只能实现3行li的底色for循环就结束了,取模后就可以循环得到 0,1,2,这样的结果,然后不断给li添加样式。

        aLi[i].onmouseover = function (){
            this.style.background = ‘gray‘;
        };
        aLi[i].onmouseout = function (){
            this.style.background = arr[this.index%arr.length];
        };
    }
};
</script>
<style>
li { height:24px; margin-bottom:3px; list-style:none; }
</style>
</head>

<body>

<ul id="ul1">
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>

</body>
</html>

取反运算符在实际案例中的运用:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script>
window.onload = function (){
    var aInp = document.getElementsByTagName(‘input‘);

    // aInp[1].checked = false;
    // aInp[2].checked = true;

    aInp[0].onclick = function (){
        for( var i=1; i<aInp.length; i++ ){
            aInp[i].checked = !aInp[i].checked; //
            /*
            if( aInp[i].checked ) {
                aInp[i].checked = false;
            } else {
                aInp[i].checked = true;
            }
            */
        }
    };
};
</script>
</head>

<body>

<input type="button" value="反选" />
<ul>
    <li><input type="checkbox" checked /></li>
    <li><input type="checkbox" /></li>
    <li><input type="checkbox" checked /></li>
    <li><input type="checkbox" /></li>
    <li><input type="checkbox" /></li>
</ul>

</body>
</html>
时间: 2024-08-05 11:39:48

运算符1—JS学习笔记2015-6-13(第56天)的相关文章

运算符2—JS学习笔记2015-6-14(第57天)

三元运算符      ?: 相当于if else: break  // 跳出: continue  // 跳过: e.g: for(var i=0; i<6; i++){ if(i==4){ // break; continue; } alert(i); } 二:真假的问题: 真:非0的数字.非空字符串(包括空格' ').函数.能找到的元素.[].{} 假:0.NaN.空字符串('').不能找到的元素.null.undefined 用if来判断 if(){alert('真');}else{ale

Node.js学习笔记(3) - 简单的curd

这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简单介绍 这次demo,只涉及到简单的curd操作,用到的数据库是mongo,所以要安装mongo数据库,数据库连接驱动是mongoose: 当然关于mongo的驱动有很多,比如mongous mongoskin等:(详见http://cnodejs.org/topic/4f4ca8e0940ce2e

JS学习笔记-OO疑问之对象创建

问一.引入工厂,解决重复代码 前面已经提到,JS中创建对象的方法,不难发现,基本的创建方法中,创建一个对象还算简单,如果创建多个类似的对象的话就会产生大量重复的代码. 解决:工厂模式方法(添加一个专门创建对象的方法,传入参数避免重复) function createObject(name,age){ var obj =new Object(); //创建对象 obj.name = name; obj.age = age; obj.run = function(){ return this.nam

JS学习笔记-数组

ECMAScript中没有提供类和接口等的定义,但它却是一门面向对象的语言,由于它能够通过其它 方式实现类似高级语言的面向对象功能,这些内容将在后面的文章中进行一步步的总结.此篇仅对JS中对象作简要说明,重点汇总一些类似于对象的数组的经常用法. 对象 创建 上篇提到创建对象的两种方式: 使用new运算符创建Object var obj = new Object(); 使用字面量方式创建 var   obj = {}; 这里值得注意的是在使用字面量(常量)创建Object时不会调用构造函数. 属性

Vue.js学习笔记:在元素 和 template 中使用 v-if 指令

f 指令 语法比较简单,直接上代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <script src="https://cdn.bootcss.com/vue/2.2.

[Pro Angular.JS]学习笔记1.1:设置开发环境

可以使用yeoman.io,很方便.我已经写了一篇随笔,介绍如何使用.这里也有一篇介绍的文章:http://www.cnblogs.com/JoannaQ/p/3756281.html 代码编辑器,在Mac下用了一下WebStorm,太恶心了.另外发现书的作者使用的开发环境是Windows + VS Express 2013,为了方便学习,我也使用VS Express 2013 Update2.VS2013用起来蛮舒服的,把WebStorm比得跟驼屎一样.也许是因为我没用习惯吧. 1.安装Nod

《深入Java虚拟机学习笔记》- 第13章 逻辑运算

<深入Java虚拟机学习笔记>- 第13章 浮点运算 <深入Java虚拟机学习笔记>- 第13章 逻辑运算,布布扣,bubuko.com

【转】Backbone.js学习笔记(二)细说MVC

文章转自: http://segmentfault.com/a/1190000002666658 对于初学backbone.js的同学可以先参考我这篇文章:Backbone.js学习笔记(一) Backbone源码结构 1: (function() { 2: Backbone.Events // 自定义事件 3: Backbone.Model // 模型构造函数和原型扩展 4: Backbone.Collection // 集合构造函数和原型扩展 5: Backbone.Router // 路由

Angular JS 学习笔记

特定领域语言 编译器:遍历DOM来查找和它相关的属性, 分为编译和链接两个阶段, 指令:当关联的HTML结构进入编译阶段时应该执行的操作,可以写在名称里,属性里,css类名里:本质上是函数 稳定的DOM:绑定了数据模型的DOM元素的实例不会在绑定的生命周期发生改变 作用域:用来检测模型的改变和为表达式提供执行上下文的 AngularJS 和其它模板系统不同,它使用的是DOM而不是字符串 指令: 由某个属性.元素名称.css类名出现而导致的行为,或者说是DOM的变化 Filter过滤器:扮演着数据