本文实例讲述了js实现select下拉框菜单的详细代码。分享给大家供大家参考。具体如下:
运行效果截图如下:
具体代码如下:
<!DOCTYPE html>
<html> <head> <title></title> <style type=\"text/css\"> #gridComboBox { background: #fff; border: 1px solid #2d78f4; border-radius: 2px; -moz-box-shadow: inset 0 0 4px #06c; -webkit-box-shadow: inset 0 0 4px #06c; box-shadow: inset 0 0 4px #06c; } </style> </head> <body> <input onclick=\"doClick(this,\'ddd(aa/bb/cc/erererer/dfdfdfdfdfdfdfdfdfdfdfdfdf/ejjejrjerjer//erererer ////////)eee\')\" /> <input onclick=\"doClick(this,\'ddd(aa/bb/cc/erererer/dfdfdfdfdfdfdfdfdfdfdfdfdf/ejjejrjerjer//erererer ////////)eee\')\" style=\'width: 300px;\' /> <p><b>Needed Properties:</b> sender.offsetTop & sender.offsetLeft & sender.offsetHeight</p> </body> </html> <script type=\"text/javascript\"> function delGridComboBox() { // 删除弹出框 var divContainer = document.getElementById(\'gridComboBox\'); if (divContainer) { divContainer.parentNode.removeChild(divContainer); } } function doClick(sender, str) {//str=\'ddd(aa/bb/cc/erererer/dfdfdfdfdfdfdfdfdfdfdfdfdf/ejjejrjerjer//erererer ////////)eee\' 只取()得内容/分割做为数据源 delGridComboBox(); // console.log(sender); // for(var i in sender) // { // console.log(i+\"|\"+sender[i]); // } var re = /[^\\)\\(]*/g //取出()中的内容作为下拉数据源 var fit = str.match(re); var fmt = fit[2].split(\'/\'); var divContainer = document.createElement(\'div\'); divContainer.style.width = sender.clientWidth + 2 + \"px\"; divContainer.style.overflow = \"hidden\"; divContainer.style.position = \'absolute\'; divContainer.style.top = sender.offsetTop + sender.offsetHeight + \'px\'; divContainer.style.left = sender.offsetLeft + \'px\'; divContainer.style.zIndex = 999; divContainer.id = \"gridComboBox\"; for (var i = 0; i < fmt.length; i++) { console.log(\'fmt[i]>>\', fmt[i]); var txt = document.createElement(\'div\'); txt.innerHTML = fmt[i]; txt.title = txt.innerHTML; txt.style.margin = 3+\'px\'; txt.addEventListener(\'mouseover\', function changeBg(event) { event.target.style.fontWeight = \'bold\'; event.target.style.color = \'white\'; event.target.style.backgroundColor = \'#2d78f4\'; }, false); txt.addEventListener(\'mouseout\', function unChangeBg(event) { event.target.style.fontWeight = \'normal\'; event.target.style.color = \'black\'; event.target.style.backgroundColor = \'white\'; }, false); txt.onclick = function(subSender) { sender.value = subSender.target.innerText; delGridComboBox(); }; divContainer.appendChild(txt); }; document.body.appendChild(divContainer); }; </script>
以上就是js实现select下拉框菜单的代码,希望本文所述对大家学习javascript程序设计有所帮助。
本文地址:https://www.stayed.cn/item/17315
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我