简单的JavaScript问题链接按钮状态图像交换?

问题描述:

我知道这是一个真正的新手问题,但是这是我的!我一直在玩ajax,当我按下两个按钮时,我会交换这两个图像。简单的JavaScript问题链接按钮状态图像交换?

问题:如何使按钮具有同时它的corrisponding图像显示显示激活状态?

我敢肯定,我需要做的是这样设定的图像上的ID,但除此之外,我不知道......

我的代码(我不显示AJAX的东西,因为我怀疑你也需要这个):

<div class="wrapper"> 
<div class="transcriptionbuttons"> 
    <ul class="transcript"> 
     <li class="transcript"><a class="transcriptionhorbutton" href="javascript:void()" onclick="getDataReturnText('/lessons/transcriptions/ajaxcalls/L1horizontal.txt', callback)"></a></li> 
     <li class="transcript"><a class="transcriptionvertbutton" href="javascript:void()" onclick="getDataReturnText('/lessons/transcriptions/ajaxcalls/L1vertical.txt', callback)""></a></li> 
    </ul> 
</div> 
<div class="transcriptimage" id="targetDiv"> 
    <img src="this gets populated with ajax..." alt=""> 
</div> 
</div> 

谢谢! Joel

编辑: 对不起,不清楚。列表项是按钮。点击一个列表项,并在targetDiv中加载一个图像。我想要“活动”的按钮保持活动状态。

+0

不知道你在问什么想法?你想在回调加载时显示一些内容吗?你想改变什么“按钮”? – Dexter 2010-01-30 05:00:10

如果我理解这个问题....你可以,例如,

<img id="targetImg" src="this gets populated with ajax..." alt=""> 

,并在你的JavaScript回调

document.getElementById("targetImg").setAttribute("src", "new_image_source.jpg"); 

编辑
相反,如果你的意思是你想改变<a>标签点击时,你能...

<li class="transcript"> 
    <a class="transcriptionhorbutton" 
     href="javascript:void()" 
     onclick="getDataReturnText('/lessons/transcriptions/ajaxcalls/L1horizontal.txt', callback);make_active(this);"></a> 
</li> 

,并通过this成一个函数,它会使你想改变(当然这部分是有点不清楚)

EDIT 2

<li class="transcript"> 
    <a id="transcriptionhorbutton" class="inactive" 
     href="javascript:void()" 
     onclick="getDataReturnText('/lessons/transcriptions/ajaxcalls/L1horizontal.txt', callback);make_active(this);"></a> 
</li> 
<li class="transcript"> 
    <a id="transcriptionvertbutton" class="inactive" 
     href="javascript:void()" 
     onclick="getDataReturnText('/lessons/transcriptions/ajaxcalls/L1vertical.txt', callback);make_active(this);"></a> 
</li> 

<script> 

var buttons = [ document.getElementById("transcriptionvertbutton"), 
       document.getElementById("transcriptionhorbutton")]; 

function make_active(el) { 
    deactivate_buttons(); 
    el.setAttribute("class","active"); 
} 

function deactivate_buttons() { 
    buttons[0].setAttribute("class","inactive"); 
    buttons[1].setAttribute("class","inactive"); 
} 
</script> 

这不是最漂亮的解决方案,但它应该给你的我如何可以解决问题

+0

PS:我已激活状态已经设立的CSS ...有没有办法来调用与“本”的功能? – Joel 2010-01-30 05:16:09

+0

好吧,上面要说明的一点是,transcriptionhorbutton是一个_id_。它唯一的标识,所以使它成为一个班级有点奇怪。一个类定义了一个元素类型(通过它的函数,角色或状态) - 在这种情况下,我用“活动”和“非活动”来描述元素的状态。 – 2010-01-30 05:18:02