怎样用javascript设置CSS效果

renwangxing 2008-04-05 05:58:48
如果把style="border: 1px solid red;background-image: url('/application/images/selected_bg.gif');background-repeat:no-repeat;background-position:left bottom;";放在html中,就成功,但是放在javascript的changeBg函数中就不成功??
代码比如(部分):
<head>
<script type="text/javascript">
var oldObj;
function changeBg(sapnid) {
if (sapnid != null){
oldObj=document.getElementById(sapnid);
oldObj.style="border: 1px solid red;background-image: url('/application/images/selected_bg.gif');background-repeat:no-repeat;background-position:left bottom;";
}
}

</head>
<body>
<table><tr>
<td id="1" onClick="changeBg('1')">首页</td>
<td id="2" onClick="changeBg('2')">论坛</td>
<td id="3" onClick="changeBg('3')">下载</td>
<td id="4" onClick="changeBg('4')">读书</td>
<td id="5" onClick="changeBg('5')">新闻</td>
</tr>
</table>


...全文
869 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
renwangxing 2008-04-06
  • 打赏
  • 举报
回复
我吃饭回来了。两位的解法都行,谢谢了
kokobox 2008-04-05
  • 打赏
  • 举报
回复
Dan1980 我s你了
Dan1980 2008-04-05
  • 打赏
  • 举报
回复
用一个变量来存储当前标签就行了,用循环效率低。

<html>
<head>
<style type="text/css">
.image {
border: 1px solid red;
background-image: url('/application/images/selected_bg.gif');
background-repeat:no-repeat;
background-position:left bottom;
}
</style>
<script type="text/javascript">
var current_tab;
function changeBg(tab) {
if (current_tab) current_tab.className = "";
tab.className = "image";
current_tab = tab;
}
</script>
</head>
<body>
<table>
<tr>
<td id="1" onClick="changeBg(this)">首页</td>
<td id="2" onClick="changeBg(this)">论坛</td>
<td id="3" onClick="changeBg(this)">下载</td>
<td id="4" onClick="changeBg(this)">读书</td>
<td id="5" onClick="changeBg(this)">新闻</td>
</tr>
</table>
</body>
</html>
kokobox 2008-04-05
  • 打赏
  • 举报
回复
你做个循环
比如

function changeBg(sapnid) {
if (sapnid != null){
for(var i = 1; i < 6 ; i++){
oldObj=document.getElementById(i);
if(oldObj.className!=''){
oldObj.className="";
}

}
oldObj=document.getElementById(sapnid);
oldObj.className="image";
}
}
renwangxing 2008-04-05
  • 打赏
  • 举报
回复
多谢两位
我吃饭去先
renwangxing 2008-04-05
  • 打赏
  • 举报
回复
<head> 
<style type="text/css">
.image {border: 1px solid red;background-image: url('/application/images/selected_bg.gif');background-repeat:no-repeat;background-position:left bottom;
}
</style>
<script type="text/javascript">
var oldObj;
function changeBg(sapnid) {
if (sapnid != null){
oldObj=document.getElementById(sapnid);
oldObj.className="image";
}
}

</head>
<body>
<table> <tr>
<td id="1" onClick="changeBg('1')">首页 </td>
<td id="2" onClick="changeBg('2')">论坛 </td>
<td id="3" onClick="changeBg('3')">下载 </td>
<td id="4" onClick="changeBg('4')">读书 </td>
<td id="5" onClick="changeBg('5')">新闻 </td>
</tr>
</table>
renwangxing 2008-04-05
  • 打赏
  • 举报
回复
现在代码是这样的:
<head>
<style type="text/css">
.image {border: 1px solid red;background-image: url('/application/images/selected_bg.gif');background-repeat:no-repeat;background-position:left bottom;
}
</style>
<script type="text/javascript">
var oldObj;
function changeBg(sapnid) {
if (sapnid != null){
oldObj=document.getElementById(sapnid);
oldObj.className="image";
}
}

</head>
<body>
<table> <tr>
<td id="1" onClick="changeBg('1')">首页 </td>
<td id="2" onClick="changeBg('2')">论坛 </td>
<td id="3" onClick="changeBg('3')">下载 </td>
<td id="4" onClick="changeBg('4')">读书 </td>
<td id="5" onClick="changeBg('5')">新闻 </td>
</tr>
</table>
问题是现在点击“论坛”,背景图片就出来了。但是点击“下载”背景色也出来,我想要的效果是,点击“下载”的时候,"论坛"的背景图片应该消失啊,我要的是导航拉的“我现在在某模块”的效果啊?
该如何改进呢?
renwangxing 2008-04-05
  • 打赏
  • 举报
回复
但是问题又来了
背景图片只是再单击的那个瞬间出现,我现在是想让它出现点击之后图片出现的效果,如何??
kokobox 2008-04-05
  • 打赏
  • 举报
回复
呵呵,6楼说的对

我忘记了

以前用display也是obj.style.display='none';


不好意思lz 我忘记了。
renwangxing 2008-04-05
  • 打赏
  • 举报
回复
yibunengjing 兄,果然!
yibunengjing 2008-04-05
  • 打赏
  • 举报
回复
你可以这样做,把你要的css效果放到一个css样式中,起个名字叫xxx,然后如下:
function changeBg(sapnid) {
if (sapnid != null){
oldObj=document.getElementById(sapnid);
oldObj.style.className="xxx";
}
}
renwangxing 2008-04-05
  • 打赏
  • 举报
回复
好像没有报什么错,是不是语法“oldObj.style”不对啊?
kokobox 2008-04-05
  • 打赏
  • 举报
回复
js报告什么错?
kokobox 2008-04-05
  • 打赏
  • 举报
回复
lz 怎么就你一个人???
renwangxing 2008-04-05
  • 打赏
  • 举报
回复
<head>  
<script type="text/javascript">
var oldObj;
function changeBg(sapnid) {
if (sapnid != null){
oldObj=document.getElementById(sapnid);
oldObj.style="border: 1px solid red;background-image: url('/application/images/selected_bg.gif');background-repeat:no-repeat;background-position:left bottom;";
}
}

</head>
<body>
<table> <tr>
<td id="1" onClick="changeBg('1')">首页 </td>
<td id="2" onClick="changeBg('2')">论坛 </td>
<td id="3" onClick="changeBg('3')">下载 </td>
<td id="4" onClick="changeBg('4')">读书 </td>
<td id="5" onClick="changeBg('5')">新闻 </td>
</tr>
</table>

renwangxing 2008-04-05
  • 打赏
  • 举报
回复
<head>
<script type="text/javascript">
var oldObj;
function changeBg(sapnid) {
if (sapnid != null){
oldObj=document.getElementById(sapnid);
oldObj.style="border: 1px solid red;background-image: url('/application/images/selected_bg.gif');background-repeat:no-repeat;background-position:left bottom;";
}
}

</head>
<body>
<table> <tr>
<td id="1" onClick="changeBg('1')">首页 </td>
<td id="2" onClick="changeBg('2')">论坛 </td>
<td id="3" onClick="changeBg('3')">下载 </td>
<td id="4" onClick="changeBg('4')">读书 </td>
<td id="5" onClick="changeBg('5')">新闻 </td>
</tr>
</table>

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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