Javascript实例教程:点击传参方法和鼠标事件方法

文章简介:从这张开始就和大家说一些实用的效果的写法。当然首当其冲的就是我们可爱的TAB选项卡,用JQ写选项卡当然是很方便的而且方法也很多。其实用原生的JS写选项卡方法也很多。

从这张开始就和大家说一些实用的效果的写法。当然首当其冲的就是我们可爱的TAB选项卡,用JQ写选项卡当然是很方便的而且方法也很多。其实用原生的JS写选项卡方法也很多。下面我就写几个给大家看看
一,点击传参方法
<script>
function tab(dom){
var list = document.getElementById("list").getElementsByTagName("li");
var con = document.getElementById("con").getElementsByTagName("div");
for(var i=0;i<list.length;i++){
if(list==dom){
list.className = "on";
con.style.display = "block";
}
else{
list.className="";
con.style.display="none";
}
}
}
</script>
<div id="list">
<ul>
<li class="on">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
<div id="con">
<div style="display:block;">111111</div>
<div style="display:none;">222222</div>
<div style="display:none;">333333</div>
<div style="display:none;">444444</div>
</div>
我解释一下
var list = document.getElementById("list").getElementsByTagName("li");
var con = document.getElementById("con").getElementsByTagName("div");
获取dom元素,这个不用说了吧。写什么效果第一件事都是获取元素
for(var i=0;i<list.length;i++){
if(list==dom){
list.className = "on";
con.style.display = "block";
}
else{
list.className="";
con.style.display="none";
}
遍历一下所有的li元素,找到和传进来的dom一样的东西,然后把他的class设置为on,并且把相对应的div给显示出来,其他的就全部把className设置为空,并且把对应的div给隐藏。
大概就是这样。但是大家肯定就都发现了这样的写法的缺点,就是每个li都要设置一个onclick时间传入它自己。这样有点违反了结构与表现相分离的道理。所以我们就换种写法
二,直接写入鼠标事件方法
<script>
function tab(){
var list = document.getElementById("list").getElementsByTagName("li");
var con = document.getElementById("con").getElementsByTagName("div");
for(var i = 0;i<list.length;i++)
{
list.onclick=function(){
for(var i=0;i<list.length;i++){
if(list==this){
list.className = "on";
con.style.display = "block";
}
else{
list.className="";
con.style.display="none";
}
}
}
}
}
window.onload=function(){tab();}
</script>
<div id="list">
<ul>
<li class="on">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
<div id="con">
<div style="display:block;">111111</div>
<div style="display:none;">222222</div>
<div style="display:none;">333333</div>
<div style="display:none;">444444</div>
</div>
只是简单的改动一下就可以了,因为在JS中有这些方法可以用比如onclick,onmouseover等等,但是用的时候我要先把所有的要用这个事件的元素都遍历一下,如果那个被点击就会传入一个this,我们只需要像第一种方法一样判断一下list是不是和这个this相同,然后下面的操作和第一种方法一样
(这样两种方法都是比较简单的写法,在JS里还有一些比较高级复杂的写法,但是用到的思想和这两种写法大多一样。)
好了就到这里,建议大家可以用这种方法写一个图片切换效果,我想应该很简单吧

时间: 2024-10-29 19:54:03

Javascript实例教程:点击传参方法和鼠标事件方法的相关文章

Javascript实例教程:DOM方法创建和修改表格

文章简介:Javascript实例教程:DOM方法创建和修改表格. <table>元素是HTML中最复杂的结构之一.要想创建表格,一般都必须涉及表示表格行.单元格.表头等方面的标签.由于涉及的标签多,因而使用核心DOM方法创建和修改表格往往都免不了要编写大量的代码.假设我们要使用DOM来创建下面的HTML表格: <table border="1" width="100%"> <tbody> <tr> <td>

Javascript实例教程(1) 目录

javascript|教程 javascript是一种基于对象和事件驱动并具有安全性能的脚本语言.使用它的目的是与HTML超文本标记语言.Java 脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用,从而可以开发客户端的应用程序等.它是通过嵌入或调入在标准的HTML语言中实现的.它的出现弥补了HTML语言的缺陷,它是Java与HTML折衷的选择.本javascript实例教程旨在通过介绍一些实例来加深对Javascrip的理解.本系列教程包括:1. 利用jav

Javascript实例教程(18) 使用字符串函数

javascript|函数|教程|字符串 使用javascript的字符串函数 字符串对象提供了许多方法,但是很少的程序设计人员充分利用它们,这对于一个程序员来说,不能不说这是一种缺陷.字符串提供的方法可以用于操作字符.产生HTML标签以及搜索字符串等等. 下面首先说说什么是字符串.在javascript语言中,字符串就是一种对象.就象在Java中,它们不是作为一系列的字符被存储的,所以字符串的操作必须使用内置的构造器和设置函数来完成.在后来的版本中有了字符串构造器和更多的关于对象的概念.在这个

Javascript实例教程(17) 使用字符串函数

javascript|函数|教程|字符串 字符串对象提供了许多方法,但是很少的程序设计人员充分利用它们,这对于一个程序员来说,不能不说这是一种缺陷.字符串提供的方法可以用于操作字符.产生HTML标签以及搜索字符串等等. 下面首先说说什么是字符串.在JavaScript语言中,字符串就是一种对象.就象在Java中,它们不是作为一系列的字符被存储的,所以字符串的操作必须使用内置的构造器和设置函数来完成.在后来的版本中有了字符串构造器和更多的关于对象的概念.在这个层次上说,字符串是由字母而不是数字组成

Javascript实例教程(14) JS代替CGI

cgi|javascript|js|教程 使用Javascript代替CGI 你可能对CGI脚本比较熟悉,利用CGI你可以通过表单将数字或者变量从一个网页上传递到另外一个网页.当然,你可以利用"POST"将变量以独立的线程进行传递而不显示在浏览器中,或者利用"GET"将变量编码到URL. JavaScript不能在变量在服务器端被处理的时候利用POST方法:但是你可以注意到当你提交一个使用GET方法的表单的时候,定位条上在文件名之后包含了额外的信息,比如: www.

Javascript实例教程(15) 日期函数

javascript|函数|教程 Date(日期)对象可以使用Date()构造器来创建,在前面的教程中我们已经介绍了Date()构造器,这里就不重复叙述.它没有参数,返回的数值就是当前的日期.下面的表格显示了为日期构造器的有效输入: var today = new Date(); 返回当前的日期和时间 var newyear = new Date("December 31, 1998 23:59:59"); 输入的是表单的字符串 "月 日,年 小时:分钟:秒" va

Javascript实例教程(20) 使用HoTMetal(2)

javascript|教程 HoTMetal中使用javascript 2.怎样为菜单条增加按钮 有几中方法可以运行javascript宏.第一种方法是将工具条的按钮与宏联系起来并且将这个按钮增加到HoTMetal的用户界面中去,这种方法在前面已经讲过了.在本节教程中将对第一种方法进行一点点变形,从对话框中将新的按钮拖拉到工具条区域,如图6所示是拖拉后的HotMetal的窗口: (图6) 当调用工具条和菜单定制对话框的时候,一定要注意新的工具条(命名为ToolBar1)已经被创建.这个工具条标签

Javascript实例教程(16) 日期函数

javascript|函数|教程 使用javascript的日期函数 Date(日期)对象可以使用Date()构造器来创建,在前面的教程中我们已经介绍了Date()构造器,这里就不重复叙述.它没有参数,返回的数值就是当前的日期.下面的表格显示了为日期构造器的有效输入: var today = new Date(); 返回当前的日期和时间 var newyear = new Date("December 31, 1998 23:59:59"); 输入的是表单的字符串 "月 日,

Javascript实例教程(15) JS代替CGI

cgi|javascript|js|教程 使用javascript代替CGI 你可能对CGI脚本比较熟悉,利用CGI你可以通过表单将数字或者变量从一个网页上传递到另外一个网页.当然,你可以利用"POST"将变量以独立的线程进行传递而不显示在浏览器中,或者利用"GET"将变量编码到URL. javascript不能在变量在服务器端被处理的时候利用POST方法:但是你可以注意到当你提交一个使用GET方法的表单的时候,定位条上在文件名之后包含了额外的信息,比如: www.