我有两个图像,img1 和 img2。我的代码:
function roll(id,img_name,event_name,img_id)
{
var state ;
if(event_name == 'mouseover')
{ state = false;rollover();}
else if(event_name == 'mouseout')
{state = false;rollout();}
else if(event_name == 'onClick')
{alert(event_name);state = true;showdata(id,img_name,state);}
else
{showDIV(id);}
function rollover()
{
if(state == false)
{
var imgpath='image_file/';
document[img_name].src =imgpath + img_name + '_over.png';
}
}
function rollout()
{
if(state == false)
{
var imgpath='image_file/';
document[img_name].src = imgpath + img_name + '.png';
}
}
function showDIV(id)
{
var div = document.getElementById(id);
if ( div.style.display != "none" )
{
div.style.display = "none";
document[img_name].src='downarrow.png';
}
else
{
div.style.display = "block";
document[img_name].src='uparrow.png';
}
}
function showdata(id,img_name,state,img_id)
{alert(state);
if(state == true)
{
var imgpath='image_file/'+ img_name;
var div = document.getElementById(id);
if ( div.style.display != "none" )
{ alert('none' +state);
document.getElementsByName(img_name).src =imgpath + '.png';
div.style.display = "none";
}
else
{ alert('block :' +state);
document.images[img_name].src='image_file/journey_icon_over.png';
div.style.display = "block";
}
}
}
}
<tr>
<td valign="top" width="100%">
<img id="img1" name="journey_icon" src="image_file/journey_icon.png" alt="Journey Report" onmouseover="roll('JourneyReport','journey_icon','mouseover')" onmouseout="roll('JourneyReport','journey_icon','mouseout')" onclick="roll('JourneyReport','journey_icon','onClick',this.id)" />
<div id="JourneyReport" style="display:none;" class="divbackground">
<uc1:ReportControl ID="JourneyControl" runat="server" />
</div>
</td>
</tr>
要求是,我需要在鼠标悬停时使用 img1,在鼠标悬停时需要 img2,这工作正常,但在单击时,我需要打开 div,img2 被冻结,然后再次单击 div 消失,onmouseover 和 onmouseout 状态正常工作。目前的问题是,点击时会出现 div,但也会触发 onmouse over 和 onmouseout 函数。
库什