js實現(xiàn)select下拉框菜單
本文實例講述了js實現(xiàn)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' 只取()得內容/分割做為數(shù)據(jù)源 delGridComboBox(); // console.log(sender); // for(var i in sender) // { // console.log(i+"|"+sender[i]); // } var re = /[^\)\(]*/g //取出()中的內容作為下拉數(shù)據(jù)源 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>
如果大家還想深入學習,可以點擊jquery下拉框效果匯總、JavaScript下拉框效果匯總進行學習。
以上就是js實現(xiàn)select下拉框菜單的代碼,希望本文所述對大家學習javascript程序設計有所幫助。
相關文章
js中將HTMLCollection/NodeList/偽數(shù)組轉換成數(shù)組的代碼
js中將HTMLCollection/NodeList/偽數(shù)組轉換成數(shù)組的代碼,需要的朋友可以參考下。2011-07-07js利用for in循環(huán)獲取 一個對象的所有屬性以及值的實例
下面小編就為大家?guī)硪黄猨s利用for in循環(huán)獲取 一個對象的所有屬性以及值的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03JavaScript之Canvas_動力節(jié)點Java學院整理
這篇文章主要介紹了JavaScript之Canvas,Canvas是HTML5新增的組件,它就像一塊幕布,可以用JavaScript在上面繪制各種圖表、動畫等2017-07-07用JS提交參數(shù)創(chuàng)建form表單在FireFox中遇到的問題
在一個前端頁面上,需要通過JavaScript來提交參數(shù),使用JS創(chuàng)建form表單,將參數(shù)append到表單中進行提交,接下來將介紹如何操作與實現(xiàn)2013-01-01