没有图片,拿字代替的,可以参考下,图片的话可以换URL就不用换style了
<span onclick=show(this)>星</span><span onclick=show(this)>星</span><span onclick=show(this)>星</span><span onclick=show(this)>星</span><span onclick=show(this)>星</span>
<script language=javascript>
function show(obj)
{
var obj2=obj
while((obj2.nextSibling!=null)&&(obj2.nextSibling.tagName=="SPAN"))
{
obj2.style.color="black"
obj2=obj2.nextSibling
}
obj2.style.color="black"
while((obj.previousSibling!=null)&&(obj.previousSibling.tagName=="SPAN"))
{
obj.style.color="red"
obj=obj.previousSibling
}
obj.style.color="red"
}
</script>
<span onclick=show(this)>星</span><span onclick=show(this)>星</span><span onclick=show(this)>星</span><span onclick=show(this)>星</span><span onclick=show(this)>星</span>
<script language=javascript>
function show(obj)
{
var obj2=obj
while((obj2.nextSibling!=null)&&(obj2.nextSibling.tagName=="SPAN"))
{
obj2.style.color="black"
obj2=obj2.nextSibling
}
obj2.style.color="black"
while((obj.previousSibling!=null)&&(obj.previousSibling.tagName=="SPAN"))
{
obj.style.color="red"
obj=obj.previousSibling
}
obj.style.color="red"
}
</script>
解决方案 »
- 关于多级菜单的问题
- 请问直接引用google的jquery和google.load有什么区别
- 奇怪的问题
- 请问如何修改alert和confirm()弹出窗口的文字字体颜色
- 请问使用Frameset实现分割的时候,如何在这个分割条上添加背景图片?
- [请问]如何用css将一个正方形图片显示为一个圆形图片
- 用window.self.close();关闭页面时不要出现提示.能否直接关闭就好了.
- 在用window.open()打开子窗口时,要加什么参数使得子窗口没有右上角的最小化、最大化、关闭钮。
- 请教如何用javascript读写js文档?
- 坑爹帖---------写了10年Javascript未必全了解的连续赋值运算!
- 求助:帮忙看一下这段代码为什么在一进入该页面时不执行
- 如何判断某个控件是否存在?
<script language=javascript>
function show(obj)
{
var obj2=obj
while((obj2.nextSibling!=null)&&(obj2.nextSibling.tagName=="SPAN"))
{
obj2.src='../images/tb_25.jpg'
obj2=obj2.nextSibling
}
obj2.src='../images/tb_25.jpg'
while((obj.previousSibling!=null)&&(obj.previousSibling.tagName=="SPAN"))
{
obj2.src='../images/tb_23.jpg'
obj=obj.previousSibling
}
obj2.src='../images/tb_23.jpg'
}
</script>
<tr>
<td width="69">rating:</td>
<td width="50%" >
<span onclick=show(this)><img src="../images/tb_25.jpg" width="18" height="21" > </span>
<span onclick=show(this)><img src="../images/tb_25.jpg" width="18" height="21" > </span>
<span onclick=show(this)><img src="../images/tb_25.jpg" width="18" height="21" > </span>
<span onclick=show(this)><img src="../images/tb_25.jpg" width="18" height="21" > </span>
<span onclick=show(this)><img src="../images/tb_25.jpg" width="18" height="21" > </span>
</td>
</tr>
obj2.childNodes[0].src='../images/tb_25.jpg'
还有下面的
a{color:gray;text-decoration:none;}
a.gold{color:gold;text-decoration:none;}
</style>
<a href="javascript:void()">*</a><a href="javascript:void()">*</a><a href="javascript:void()">*</a><a href="javascript:void()">*</a><a href="javascript:void()">*</a>
<script>
var $A = function(v) {
if (!v) return [];
if (v.toArray) {
return v.toArray();
} else {
var arr = [];
for (var i = 0; i < v.length; i++)
arr.push(v[i]);
return arr;
}
}Array.prototype.getPart = function(f) {
for(var i=0;i<this.length;i++) if (f(this[i])) return [this.slice(0,i+1),this.slice(i+1)]
}Array.prototype.map = function(f) {
var arr=[]
for(var i=0;i<this.length;i++) arr.push(f(this[i]))
return arr
}var f=function(o){
o.onclick=o.onmouseover=function(){
event.returnValue=false;
var arr=links.getPart(function(x){if (eval(x)==event.srcElement) return x})
arr[0].map(function(x){x.className="gold"})
arr[1].map(function(x){x.className=""})
}
}var links=$A(document.links)
links.map(f)
</script>
<script language=javascript>
function show(obj)
{
var obj2=obj
while((obj2.nextSibling!=null)&&(obj2.nextSibling.tagName=="SPAN"))
{
obj2.childNodes[0].src='http://zi.csdn.net/30060.gif'
obj2=obj2.nextSibling
}
obj2.childNodes[0].src='http://zi.csdn.net/30060.gif'
while((obj.previousSibling!=null)&&(obj.previousSibling.tagName=="SPAN"))
{
obj.childNodes[0].src='http://community.csdn.net/logo/images/prj.210.67.gif'
obj=obj.previousSibling
}
obj.childNodes[0].src='http://community.csdn.net/logo/images/prj.210.67.gif'
}
</script><span onclick=show(this)><img src="http://zi.csdn.net/30060.gif" width="18" height="21" > </span>
<span onclick=show(this)><img src="http://zi.csdn.net/30060.gif" width="18" height="21" > </span>
<span onclick=show(this)><img src="http://zi.csdn.net/30060.gif" width="18" height="21" > </span>
<span onclick=show(this)><img src="http://zi.csdn.net/30060.gif" width="18" height="21" > </span>
<span onclick=show(this)><img src="http://zi.csdn.net/30060.gif" width="18" height="21" > </span>
感谢你的代码,我刚看见,也试了,你的这个效果完全是我要的(包括鼠标移动的效果),可我怎么放到我的代码了,点击就报语法错误呢?
<script>
var $A = function(v) {
if (!v) return [];
if (v.toArray) {
return v.toArray();
} else {
var arr = [];
for (var i = 0; i < v.length; i++)
arr.push(v[i]);
return arr;
}
}Array.prototype.getPart = function(f) {
for(var i=0;i<this.length;i++) if (f(this[i])) return [this.slice(0,i+1),this.slice(i+1)]
}Array.prototype.map = function(f) {
var arr=[]
for(var i=0;i<this.length;i++) arr.push(f(this[i]))
return arr
}var f=function(o){
o.onclick=o.onmouseover=function(){
event.returnValue=false;
var arr=links.getPart(function(x){if (eval(x)==event.srcElement) return x})
arr[0].map(function(x){x.className="gold"})
arr[1].map(function(x){x.className=""})
}
}var links=$A(document.links)
links.map(f)
</script><a href="javascript:void()"><img src="../images/tb_25.jpg" width="18" height="21" > </a>
<a href="javascript:void()"><img src="../images/tb_25.jpg" width="18" height="21" > </a>
<a href="javascript:void()"><img src="../images/tb_25.jpg" width="18" height="21" > </a>
<a href="javascript:void()"><img src="../images/tb_25.jpg" width="18" height="21" > </a>
<a href="javascript:void()"><img src="../images/tb_25.jpg" width="18" height="21" > </a>
onclick=show(4),然后写一个循环,把document.getElementById("img"+i).src改了
http://post.baidu.com/f?kz=27823265 里面复制一个五角星就可以啊该死的CSDN,不让贴五角星的哪个图,我只好用*代替代码是没有问题,因为你在link中加了 img event.srcElement指向了 img对象,所以要改下面这句
var arr=links.getPart(function(x){if (eval(x)==event.srcElement) return x})
<a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a>
</span>
<!--这里 gray.gif为灰色五角星图片,gold为金色五角星图片--><script>
var $A = function(v) {
if (!v) return [];
if (v.toArray) {
return v.toArray();
} else {
var arr = [];
for (var i = 0; i < v.length; i++)
arr.push(v[i]);
return arr;
}
}Array.prototype.getPart = function(f) {
for(var i=0;i<this.length;i++) if (f(this[i])) return [this.slice(0,i+1),this.slice(i+1)]
}Array.prototype.map = function(f) {
var arr=[]
for(var i=0;i<this.length;i++) arr.push(f(this[i]))
return arr
}var f=function(o){
o.onclick=o.onmouseover=function(){
event.returnValue=false;
var arr=imgs.getPart(function(x){return eval(x)==event.srcElement})
arr[0].map(function(x){x.src="gold.gif"})
arr[1].map(function(x){x.src="gray.gif"})
}
}var imgs=$A(document.getElementById("o").getElementsByTagName("IMG"))
imgs.map(f)
</script>
还有2个问题:
1。鼠标移动变成金色五星后,再往左移动,不显示灰色五星了?
2。我想最终点五星确定打分的同时执行一个动作类,
<img src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()">
这应该怎么添加动作的链接?
对于单组的5个五角星打分没问题了,但页面上有多组不固定数量的5个五角星组,鼠标在第一组上没问题,到其它组就不行了,应该是把<span id=o>这个id换成动态的吧?我用一个STRUTS标签换成如下:
<span id=<bean:write name="myresource" property="id"/>>
但怎么带到下面的JS里呢?
CSDN是欢迎程序员来交流,但是前提你必须要至少懂一点点啊,哪怕最基本的,这样你把大家都当你保姆啊,那软件公司都不要聘请程序员了,专门招几个人天天在CSDN问好了最后一次帮你改了啊,以后再要什么搞不定不要再给我发短消息了,自己google
<span>
<a href="javascript:alert(1)"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a>
</span><br><br><br>
<span>
<a href="javascript:alert(1)"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a>
</span><br><br><br><br><br>
<span>
<a href="javascript:alert(1)"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a>
</span><br><br><br><br><br>
<span>
<a href="javascript:alert(1)"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a><a href="javascript:void()"><img
src="gray.gif" border=0 width=22 height=20></a>
</span>
<script>
var $A = function(v) {
if (!v) return [];
if (v.toArray) return v.toArray();
var arr = [];
for (var i = 0;i<v.length;i++) arr.push(v[i]);
return arr;
}Array.prototype.getPart = function(f){
for(var i=0;i<this.length;i++) if (f(this[i])) return [this.slice(0,i+1),this.slice(i+1)]
}Array.prototype.map=function(f){for(var i=0;i<this.length;i++) f(this[i])}$A(document.getElementsByTagName("SPAN")).map(function(x){
var imgs=$A(eval(x).getElementsByTagName("IMG"))
var f=function(o){
o.onclick=o.onmouseover=function(){
event.returnValue=false;
var arr=imgs.getPart(function(x){return eval(x)==event.srcElement})
arr[0].map(function(x){x.src="gold.gif"})
arr[1].map(function(x){x.src="gray.gif"})
}
}
imgs.map(f)
})
</script>
实在不好意思,我以前是做CS程序的,最近刚转到JSP,JS更是刚刚接触,由于要求的紧,只好来这里请求帮忙,再次感谢!