зеркало из https://github.com/mozilla/gecko-dev.git
83 строки
2.0 KiB
HTML
83 строки
2.0 KiB
HTML
<html><head>
|
|
<script type="text/javascript">
|
|
function cE (v) {
|
|
return document.createElement(v)
|
|
}
|
|
function cTN (v) {
|
|
return document.createTextNode(v)
|
|
}
|
|
|
|
function OSXBarIcon(elt) {
|
|
this.element = elt;
|
|
this.labelNode = this.element.firstChild;
|
|
this.labelNodeParent = this.element;
|
|
this.labelNodeParent.removeChild(this.labelNode);
|
|
|
|
this.contents = [];
|
|
var kids = this.element.childNodes;
|
|
for(var i=0; i<kids.length; i++) this.contents[this.contents.length] = this.element.removeChild(kids[i]);
|
|
this.popupSubmenu = new OSXBarSubmenu(this);
|
|
}
|
|
|
|
function OSXBarSubmenu(icon) {
|
|
this.parentIcon = icon;
|
|
this.create();
|
|
this.addContent();
|
|
}
|
|
OSXBarSubmenu.prototype = {
|
|
create : function() {
|
|
var p = this.popupNode = document.createElement("div");
|
|
var b = document.getElementsByTagName("body").item(0);
|
|
if(b) b.appendChild(p);
|
|
this.popupNode.style.display = "none";
|
|
// Uncomment next line to fix the problem
|
|
// var v = document.body.offsetWidth;
|
|
}
|
|
};
|
|
OSXBarSubmenu.prototype.addContent = function() {
|
|
|
|
// add popup label:
|
|
var label = document.createElement("div");
|
|
label.appendChild(document.createTextNode(this.parentIcon.label));
|
|
this.popupNode.appendChild(label);
|
|
|
|
// add <li> children to the popup:
|
|
var contents = this.parentIcon.contents;
|
|
for(var i=0; i<contents.length; i++) {
|
|
this.popupNode.appendChild(contents[i]);
|
|
|
|
}
|
|
};
|
|
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
function createControlPanel() {
|
|
var bar = document.getElementById("navigation");
|
|
var item = cE("li");
|
|
item.appendChild(cTN("aaa"));
|
|
var textfield = cE("input");
|
|
textfield.value = 0;
|
|
item.appendChild(textfield);
|
|
bar.insertBefore(item, bar.firstChild);
|
|
}
|
|
|
|
window.addEventListener("load", createControlPanel, false);
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
function ssload() {
|
|
new OSXBarIcon(document.getElementById("navigation").childNodes[0]);
|
|
}
|
|
window.addEventListener("load",ssload,false);
|
|
|
|
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
<ul id="navigation"></ul>
|
|
</body></html>
|
|
|
|
|