一些有用的javascript实例分析(二)
5 求出数组中所有数字的和
window.onload = function ()
{
var oBtn = document.getElementsByTagName("button")[0];
var oInput = document.getElementsByTagName("input")[0]
var oStrong = document.getElementsByTagName("strong")[0];
oInput.onkeyup=function(){
//用空白替换非数字和逗号
this.value=this.value.replace(/[^(\d)|(,)]/,"");
};
oBtn.onclick=function(){
var sum=0;
//将输入的值以逗号为分隔符,转化为字符数组
var oInput=document.getElementsByTagName("input")[0].value.split(",")
for(var i in oInput){
//把字符型转化为整型
sum=parseInt(oInput[i]);
}
};
oStrong.innerHTML=sum;
} 6 简易选项卡
window.onload = function ()
{ //获取标题
var oLi = document.getElementById("tab").getElementsByTagName("li");
//获取内容
var oUl = document.getElementById("content").getElementsByTagName("ul");
for(var i=0;i<oLi.length;i++){
oLi[i].index=i;
//滑动到指定标题
oLi[i].onmouseover = function (){
for(var n=0;n<oLi.length;n++){
//首先使所有标题样式都不变
oLi[n].className="";
//指定标题样式改变,this指代oLi[i]
this.className="current";
}
for(var n=0;n<oUl.length;n++){
//所有的内容都不显示(实现无缝)
oUl[n].style.display="";
//指定标题对应的内容显示
oUl[this.index].style.display="block"
} }
}
} div id="outer">
<ul id="tab">
<li class="current">第一课</li>
<li>第二课</li>
<li>第三课</li>
</ul>
<div id="content">
<ul style="display:block;">
<li>网页特效原理分析</li>
<li>响应用户操作</li>
</ul>
<ul>
<li>戛纳印象效果</li>
<li>数组</li>
<li>字符串连接</li>
</ul>
<ul>
<li>JavaScript组成:ECMA来源</li>
<li>JavaScript出现的位置、优缺点</li>
</ul>
</div>
</div>
</body> 7 单一按钮显示/隐藏
window.onload = function ()
{
var oH2 = document.getElementsByTagName("h2")[0];
var oUl = document.getElementsByTagName("ul")[0];
oH2.onclick=function(){
var style=oUl.style;
//内容在显示和隐藏之间切换
style.display=style.display=="none"?"block":"none";
//标题栏的图标随下拉框的改变而改变(background-position)
oH2.className=style.display=="none"?"open":""
}
<body>
<div id="outer">
<h2>播放列表...</h2>
<ul>
<li><a href="javascript:;">玩家之徒 - 蔡依林</a></li>
<li><a href="javascript:;">原谅我就是 - 戴佩妮</a></li>
</ul>
</div>
</body> 8鼠标移过,改变图片路径
window.onload = function ()
{
var oImg = document.getElementById("box").getElementsByTagName("img");
var oDiv = document.getElementsByTagName("div")[0];
for(var i=0;i<oImg.length;i++){
oImg[i].onmouseover=function(){
//在目标div中创建一个图像对象
var img=new Image();
//用big替换创建图像的small,赋值给第一幅大图,然后赋值给创建图像
img.src=oImg[0].src=this.src.replace(/small/,"big");
}
}
<body>
<ul id="box">
<li class="first"><img src="img/big_1.jpg"><div></div></li>
<li><a href="javascript:;"><img src="img/small_1.jpg"></a></li>
<li><a href="javascript:;"><img src="img/small_2.jpg"></a></li>
</ul>
</body> 9 复选框(checkbox)全选/全不选/返选
window.onload = function ()
{
var oInput = document.getElementsByTagName("input");
var oLabel = document.getElementsByTagName("label")[0];
var isCheckAll=function(){
//i=0是全选框状态,n记录选中的个数
for(var i=1,n=0;i<oInput.length;i++){
//若此选框选中执行&&后面的,即个数加1.没选中不加
oInput[i].checked&&n++;
}
//先执行判断选中个数,得到一个布尔值赋给全选框
oInput[0].checked=n==oInput.length-1;
//根据布尔值(1全选,0未全选)来判断是否已经全选
oLabel.innerHTML=oInput[0].checked?"全不选":"全选"
}
//全选/全不选
oInput[0].onclick = function ()
{
for (var i = 1; i < oInput.length; i++)
{//确定每个复选框的状态和oInput[0](this指代)的状态一致
oInput[i].checked = this.checked
}
isCheckAll()
};
//反选
oA.onclick = function ()
{
for (var i = 1; i < oInput.length; i++)
{
oInput[i].checked = !oInput[i].checked
}
isCheckAll()
}; //根据复选个数更新全选框状态
for (var i = 1; i < oInput.length; i++)
{
oInput[i].onclick = function ()
{//每选中一个复选框判断一次
isCheckAll()
}
}
}
一些有用的javascript实例分析(二)的更多相关文章
- 一些有用的javascript实例分析(三)
原文:一些有用的javascript实例分析(三) 10 输入两个数字,比较大小 window.onload = function () { var aInput = document.getElem ...
- 一些有用的javascript实例分析(一)
原文:一些有用的javascript实例分析(一) 本文以http://fgm.cc/learn/链接的实例索引为基础,可参见其实际效果.分析和整理了一些有用的javascript实例,相信对一些初学 ...
- MapReduce多种join实现实例分析(二)
上一篇<MapReduce多种join实现实例分析(一)>,大家可以点击回顾该篇文章.本文是MapReduce系列第二篇. 一.在Map端进行连接使用场景:一张表十分小.一张表很大.用法: ...
- C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断
C#保留2位小数几种场景总结 场景1: C#保留2位小数,.ToString("f2")确实可以,但是如果这个数字本来就小数点后面三位比如1.253,那么转化之后就会变成1.2 ...
- Vue源码分析(二) : Vue实例挂载
Vue源码分析(二) : Vue实例挂载 author: @TiffanysBear 实例挂载主要是 $mount 方法的实现,在 src/platforms/web/entry-runtime-wi ...
- linux驱动由浅入深系列:高通sensor架构实例分析之二(驱动代码结构)【转】
本文转载自:https://blog.csdn.net/radianceblau/article/details/73498303 本系列导航: linux驱动由浅入深系列:高通sensor架构实例分 ...
- [转载]JavaScript内存分析
https://github.com/CN-Chrome-DevTools/CN-Chrome-DevTools/blob/master/md/Performance-Profiling/javasc ...
- Linux Kernel PANIC(三)--Soft Panic/Oops调试及实例分析【转】
转自:https://blog.csdn.net/gatieme/article/details/73715860 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ...
- Python中的单继承与多继承实例分析
Python中的单继承与多继承实例分析 本文实例讲述了Python中的单继承与多继承.分享给大家供大家参考,具体如下: 单继承 一.介绍 Python 同样支持类的继承,如果一种语言不支持继承,类就没 ...
随机推荐
- 最简单的视频编码器:基于libx265(编码YUV为H.265)
===================================================== 最简单的视频编码器系列文章列表: 最简单的视频编码器:编译 最简单的视频编码器:基于libx ...
- richedit设置滚动条的位置和更新内容
需要txt发现读者richedit的scrollbar位置(为了便于下一次读,直接访问与上次读取下一个读取位置)不值得治疗,采用GetScrollPos.SetScrollPos你可以设置scorll ...
- .NET Framework 4.0 以上版本 下载地址
https://msdn.microsoft.com/zh-cn/library/5a4x27ek(v=vs.110).aspx
- java设计模式演示示例
创建一个模式 1.工厂方法模式(Factory Method) 该程序创建的操作对象,独自一人走出流程,创建产品工厂接口.实际的工作转移到详细的子类.大大提高了系统扩展的柔性,接口的抽象化处理给相互 ...
- STL内存分配
STL内存创建 Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu 转载请标明来源 1. Stl内存创建基类模板__malloc_alloc_tem ...
- 【C语言探索之旅】 第一部分第四课第二章:变量的世界之变量声明
内容简介 1.课程大纲 2.第一部分第四课第二章:变量的世界之变量声明 3.第一部分第四课第三章预告:变量的世界之显示变量内容 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布 ...
- DisplayContent、StackBox、TaskStack笔记
文章仅零散记录自己的一点理解,仅供自己參考. 每一个显示设备,都有一个Display对象,DisplayManagerService专门管理这些Display. 1.DisplayContent() ...
- SQL Server数据库附加失败:错误5120和错误950
再次敲机房,想參考曾经的物理模型,结果在附加数据库这一环节出现了点问题,以下总结一下. 1.附加数据库失败,错误5120 对于这样的错误,我在网上搜集了一下,主要有下面几种解决的方法: 方法一:将要附 ...
- C本学习笔记scanf
一个.scanf功能介绍 这也是在stdio.h中声明的一个函数.因此使用前必须增加#include<stdio.h>. 调用scanf函数时,须要传入变量的地址作 ...
- grep之字符串搜索算法Boyer-Moore由浅入深(比KMP快3-5倍)(转)
这篇长文历时近两天终于完成了,前两天帮网站翻译一篇文章“为什么GNU grep如此之快?”,里面提及到grep速度快的一个重要原因是使用了Boyer-Moore算法作为字符串搜索算法,兴趣之下就想了解 ...