我的❤为何不变红呢?js代码

百变猪娃娃 2011-05-12 05:41:26
代码如下:点击❤,则从第一个❤到此❤都变红色,后面的变白色。
但我的为何不变色呢?
第二个问题,VS2008提示我的td、i都定义了两次,可我不在一个作用域啊,应该没问题啊。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>无标题页</title>
<script type="text/javascript">
function indexOf(arr,element){
//indexOf函数是取得元素在数组中的序号
for(var i=0;i<arr.length;i++){
if(element==arr[i]){
return i;
}
}
}
function initEvent(){
var tableRating = document.getElementById("tableRating");
var tds = tableRating.getElementsByTagName("td");
for(var i=0;i<tds.length;i++){
var td = tds[i];
td.onClick = tdOnClick;
td.style.cursor = "pointer";
}
}
function tdOnClick(){
//tdOnClick函数是具体执行变色功能的
var tableRating = document.getElementById("tableRating");
var tds = tableRating.getElementsByTagName("td");
var index = indexOf(tds,this);
for(var i=0;i<=index;i++){
var td = tds[i];
td.style.background = "red";
}
for(var i=index+1;i<tds.length;i++){
var td = tds[i];
td.style.background = "white";
}
}
</script>
</head>
<body onload="initEvent()">
<table id="tableRating">
<tr><td>❤</td><td>❤</td><td>❤</td><td>❤</td><td>❤</td></tr>
</table>
</body>
</html>
...全文
163 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
百变猪娃娃 2011-05-14
  • 打赏
  • 举报
回复
再等半个小时就结贴
rx78gp01 2011-05-13
  • 打赏
  • 举报
回复
程序可能转换成false类型了
百变猪娃娃 2011-05-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jebeljebel 的回复:]
如果arr.length=0该函数还有返回值吗?必须保证每种情况都有return执行
[/Quote]

return -1;写到for里面就错误,何解?
生命密码 2011-05-12
  • 打赏
  • 举报
回复
如果arr.length=0该函数还有返回值吗?必须保证每种情况都有return执行
百变猪娃娃 2011-05-12
  • 打赏
  • 举报
回复
还有一个疑问:老师是这样写的:

function indexOf(arr,element){
for(var i=0;i<arr.length;i++){
if(element==arr[i]){
return i;
}
}
return -1;
}
老师说后面的return -1;也可以省略不写。


但是,我如果把return -1;写到for里面就错了,为什么不能写到for里面?
把return -1;写到for里面就错误,如下:
function indexOf(arr,element){
for(var i=0;i<arr.length;i++){
if(element==arr[i]){
return i;
}
return -1;
}
}


这是为什么????
百变猪娃娃 2011-05-12
  • 打赏
  • 举报
回复
我找到原因了
td.onClick = tdOnClick;
大小写错误,应该为:
td.onclick = tdOnClick;
rx78gp01 2011-05-12
  • 打赏
  • 举报
回复
返回值了么
百变猪娃娃 2011-05-12
  • 打赏
  • 举报
回复
我的indexOf函数是自己写的啊,js中没indexOf()
rx78gp01 2011-05-12
  • 打赏
  • 举报
回复
要么是tds.indexOf(event);
rx78gp01 2011-05-12
  • 打赏
  • 举报
回复
indexOf能这样用么。我只知道他能处理string
已经博主授权,源码转载自 https://pan.quark.cn/s/8f7d9b77a9d1 微信小程序是一个轻量级的应用开发平台,主要面向移动设备,由腾讯公司推出,其目的是提供一种便捷的应用体验,用户无需下载安装即可直接使用。"你画我猜"是一种广受欢迎的游戏模式,参与者通过绘画来传达一个词语或短语,其他参与者则根据所见的图画来猜测其含义,这种互动性突出且趣味盎然的模式非常适合在微信小程序平台上实现。在"微信小程序你画我猜游戏demo完整源码"这一资源中,我们可以学习到以下几个核心知识点:1. **微信小程序开发环境的构建**:开发者需要安装微信开发者工具,这是进行微信小程序编写与调试的基础。该工具集成了代码编辑、预览、调试等多种功能,为开发者提供了便利的项目开发条件。2. **WXML与WXSS**:WXML是微信小程序的结构性语言,类似于HTML,用于定义页面的结构与布局;WXSS是微信小程序的样式性语言,类似于CSS,负责控制页面的外观。开发者必须熟练掌握这两种语言的语法和特性,以便创建既美观又功能齐全的界面。3. **JavaScript的业务逻辑处理**:在微信小程序中,JavaScript主要承担数据绑定、事件处理以及API调用的职责。通过`Page`对象,开发者可以设定每个页面的数据、生命周期事件和方法,从而实现复杂的业务逻辑。4. **微信小程序API的应用**:此游戏demo会运用到微信小程序提供的多种API,包括用户身份验证、网络请求、画板绘图、动画效果等。例如,`wx.createContext()` API可用于获取绘图环境,实现画板功能;`wx.request()`则用于与服务器进行交互,获取游戏数据或提交玩家的绘画作品。5. **游戏逻辑的...

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧