YOUhaveIhaveHEhas 2010-01-14 08:36
浏览 276
已采纳

如何在JS里显示不同的弹出div层,同时JS里有弹出层的方法?

问题是这样的,弹出层已经在JS里写好了,效果也有,可是我的页面有很多个div弹出层,要求点击页面中不同的文字时,弹出不同的div层,其他的div层隐藏,如何写方法,等。。。。。。。。。

  在以下方法里 
  function testMessageBox2(ev) 

{
var objPos = mousePosition(ev);
messContent="

要要
";
showMessageBox('要要',messContent,objPos,580,100);
}
  我想把div显示与隐藏用这个方法控制: 

function divshow1() 
{ 

    if(document.getElementById("divFunction22").style.display=="none") 
    { 

        document.getElementById("divFunction22").style.display="block"; 
      } 
    else 
    {    
        document.getElementById("divFunction22").style.display="none"; 
      } 
} 

页面如下:

麻烦各位高手,我实在是把这些方法合起来,有经验的帮帮?

写个方法??/
[b]问题补充:[/b]
我先试试呀,谢谢你的回答呀
[b]问题补充:[/b]

我的弹出层可能不止3个,有10几个呢?

那个IF ELSE不行吧?

还有个问题是,我的弹出层里也有DIV,如何把内容放进去呀
function testMessageBox2(ev)
{
var objPos = mousePosition(ev);
messContent="

要要
";
showMessageBox('要要',messContent,objPos,580,100);
}

一个DIV层有一个这个方法?

[b]问题补充:[/b]
这是弹出层JS脚本:全部定义的div

var isIe=(document.all)?true:false;
//设置select的可见状态
function setSelectState(state)
{
var objl=document.getElementsByTagName('select');
for(var i=0;i {
objl[i].style.visibility=state;
}
}
function mousePosition(ev)
{
if(ev.pageX || ev.pageY)
{
return {x:ev.pageX, y:ev.pageY};
}
return {
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,y:ev.clientY + document.body.scrollTop - document.body.clientTop
};
}
//弹出方法
function showMessageBox(wTitle,content,pos,wWidth)
{
closeWindow();
var bWidth=parseInt(document.documentElement.scrollWidth);
var bHeight=parseInt(document.documentElement.scrollHeight);
if(isIe){
setSelectState('hidden');}
var back=document.createElement("div");
back.id="back";
var styleStr="top:0px;left:0px;position:absolute;background:#666;width:"+bWidth+"px;height:"+bHeight+"px;";
styleStr+=(isIe)?"filter:alpha(opacity=0);":"opacity:0;";
back.style.cssText=styleStr;
document.body.appendChild(back);
showBackground(back,50);
var mesW=document.createElement("div");
mesW.id="mesWindow";
mesW.className="mesWindow"; /*控制弹出层TITLE的类*/
mesW.innerHTML="

<table width='100%' height='100%' style='background-

color:#ffffff;'>

"+wTitle+" <input type='button' onclick='closeWindow();' title='关闭窗口' class='close' value='关闭'

/>

"+content+"
";

styleStr="left:"+(((pos.x-wWidth)>0)?(pos.x-wWidth):pos.x)+"px;top:"+(pos.y)+"px;position:absolute;width:"+wWidth+"px;";
mesW.style.cssText=styleStr;
document.body.appendChild(mesW);
}
//让背景渐渐变暗
function showBackground(obj,endInt)
{
if(isIe)
{
obj.filters.alpha.opacity+=1;
if(obj.filters.alpha.opacity <endInt)
{
setTimeout(function(){showBackground(obj,endInt)},5);
}
}else{
var al=parseFloat(obj.style.opacity);al+=0.01;
obj.style.opacity=al;
if(al <(endInt/100))
{setTimeout(function(){showBackground(obj,endInt)},5);}
}
}
//关闭窗口
function closeWindow()
{
if(document.getElementById('back')!=null)
{
document.getElementById('back').parentNode.removeChild(document.getElementById('back'));
}
if(document.getElementById('mesWindow')!=null)
{
document.getElementById('mesWindow').parentNode.removeChild(document.getElementById('mesWindow'));
}

if(isIe){
setSelectState('');}
}

function testMessageBox1(ev)
{
var objPos = mousePosition(ev);
messContent="

组织两年内即将退休员工人数为

";
showMessageBox('数为',messContent,objPos,580,0);
[b]问题补充:[/b]
如何把不的DIV层的内容放进弹出层里?
[b]问题补充:[/b]
帮忙写全点呀

我不知道为什么,我把JS拿进去测试,有脚本错误?
[b]问题补充:[/b]


td align="center" style="width:120px" class="linebottom lineleft ">查看详细

我的弹出层事件就不能放了呀onclick="testMessageBox1

如何把两个联系起来呀

[b]问题补充:[/b]
是这样嘛a
[b]问题补充:[/b]
我把你的代码:

3.<br><br> 4. function dis(){<br><br> 5. var t=document.getElementsByTagName(&quot;div&quot;);<br><br> 6. for(i=0;i<t.length;i++){ <br> 7. if(t[i].style.background=="#fffffe"){ <br> 8. t[i].style.display="none"; <br> 9. } <br> 10. } <br> 11. } <br> 12. function aa1(){ <br> 13. dis(); <br> 14. document.getElementById("a1").style.display=""; <br> 15. } <br> 16. function aa2(){ <br> 17. dis(); <br> 18. document.getElementById("a2").style.display=""; <br> 19. } <br> 20. function aa3(){ <br> 21. dis(); <br> 22. document.getElementById("a3").style.display=""; <br> 23. } <br> 24.

25.

26.



27.


28.

29.

34.

37.

38.


30.a

31.


32.b

33.


35.c

36.


39.


40.

41.


42.
aaaaaaa


43.


44.


45.
bbbbbbb


46.


47.


48.
ccccc


49.


50.

51.

放进去测试

onclick="aa1(testMessageBox1(event))"
有弹出层,但是没有内容,有脚本错误,说没有对象
[b]问题补充:[/b]
它报我弹出DIV层的脚本错误pageX为空,
好像这里面定死了。
[b]问题补充:[/b]
哈哈 :idea: 帮帮我改改,以后会慢慢改进啦
[b]问题补充:[/b]
弹出层有出来但是遮层与显示层好像不同步,

DIV层内容好像始终都没有出现过?

function testMessageBox1(ev)
{
var objPos = mousePosition(ev);
messContent="

";
showMessageBox('要要',messContent,objPos,580,100);
}

不需要改吧
[b]问题补充:[/b]
当我点弹出层里空白处时,遮层后面就显示不全。

不知道是不是事件问题。

难道我点击时,DIV层内容会同步嘛

  • 写回答

13条回答

  • wanghaolovezlq 2010-01-14 11:09
    关注

    这样写就行了

    a

    function aa1(ev)
    {

    testMessageBox1(ev);

    .....

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(12条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!