2016-07-25 80 views
0

我想创建中心圆角屏幕上弹出面板(滚动条不是neccessary;使用jQuery分钟)与此类似:如何使用JavaScript和CSS创建弹出窗口,无库?

Panel

到目前为止我:

function (package){ 

    document.addEventListener('click', function(e) 
    { 
    getParent(e.target); 
    var node1 = $("#make_it_easy_styles"); 
    var node2 = $("#make_it_easy_panel"); 
    if (node1.length) node1.remove(); 
    if (node2.length) node2.remove(); 

    $("html > head").append("<style id=make_it_easy_styles>div#make_it_easy_panel { float:left; position: relative; left:10%; top:20%; border-radius: 2em; font-familly:'Arial Black'; font-size:13px; }</style>\n\r");  
    $("body").append("<div id=make_it_easy_panel></div>"); 
    $('div#panel').append("<ul>"); 
    var level = elements.length; 
    for (var level = elements.length; 
     level>1 ; 
     level--) 
     { 
     $('div#make_it_easy_panel ul').append("<li>" + elements.collection[level].tag + "</li>\r\n"); 
     }  
    }); 


    } 

为什么我看不到任何弹出窗口?我在debuger测试这个,我没有发现任何错误。此外,我想隐藏面板或删除它当用户单击格外。怎么做?

+0

“变种水平= elements.length;”什么是元素? – Gatsbill

+0

元素数据的集合。它循环9x并添加一些文本到li标签。 Cuz elements.length是9. – user1141649

+0

这可能对您有所帮助。 http://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_modal – Danieboy

回答

1
$('div#panel').append("<ul>"); 
    var level = elements.length; 
    for (var level = elements.length; 
     level>1 ; 
     level--) 
     { 
     $('div#make_it_easy_panel ul').append("<li>" + elements.collection[level].tag + "</li>\r\n"); 
     }  
    }); 

我认为你必须改变$('div#panel').append("<ul>");$('div#make_it_easy_panel').append("<ul>")

+0

确切地说,我的风格的目的是颠倒顺序。元素长度并不重要,它必须大于1.我已经用8进行了测试,而不是9,对不起。所以我已经通过循环8倍。但我认为如果CSS样式是正确的,并且我确实正确使用了JQuerry?我之前没有这么做过,所以我不知道div - > ul列表在哪里消失了。在几个小时之前,我能够看到它,那是在我做了一些重大改变之前。我添加了float:left和position relative,现在它不可见。 – user1141649

+0

看到我编辑的答案,我想这可能是你的烦恼的原因 – Gatsbill

+0

谢谢,这就是它。这是主要的变化。我编辑了标签并忘记检查参考。现在我看到:li项目:'DIV' 'MAIN' 'SECTION' 'DIV'这是元素列表(我没有完全看到列表,它在页面的底部)。目前它位于页面的左下角。你有一些提示如何移动div到屏幕的中心左右,只是在我正在检查的位置附近可见(该功能是通过点击事件处理程序调用的,所以我想将它显示在我点击的位置附近)。 – user1141649