既然是下拉式菜單嘛
在日土等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供做網(wǎng)站、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營(yíng)銷(xiāo)型網(wǎng)站,外貿(mào)網(wǎng)站建設(shè),日土網(wǎng)站建設(shè)費(fèi)用合理。
肯定不會(huì)只有JS
語(yǔ)句嘛
起碼要有一些HTML的標(biāo)簽哦
記住一點(diǎn)
JS
菜單是
動(dòng)態(tài)的管理HTML和CSS的
HTML
靜態(tài)顯示
CSS
管理HTML的顯示效果
javascript
在瀏覽器上動(dòng)態(tài)的管理HTML和CSS以及一些操作
你也沒(méi)有把全部代碼寫(xiě)出來(lái)
估計(jì)也沒(méi)什么好回答的
除非人家給你一個(gè)現(xiàn)成的代碼
我給你說(shuō)說(shuō)下拉式菜單的實(shí)現(xiàn)原理吧
任何HTML的標(biāo)簽都有個(gè)style屬性..這里可以設(shè)置CSS屬性
就是控制這個(gè)標(biāo)簽的樣式屬性..里頭有個(gè)屬性叫display
當(dāng)這個(gè)display的值是none的時(shí)候..這個(gè)標(biāo)簽在瀏覽器上就不會(huì)顯示,但是瀏覽器會(huì)讀取它的數(shù)據(jù)
只是不展示給用戶(hù)而已
下拉式菜單,說(shuō)白了就是你點(diǎn)一下菜單,彈出一個(gè)子菜單而已..有點(diǎn)編程的基礎(chǔ)就知道該怎么做啦..
事先設(shè)置好你要顯示的子菜單,并在它的HTML屬性里加一個(gè)
style="display:none;"意思就是告訴瀏覽器這個(gè)標(biāo)簽的所有內(nèi)容都不顯示
然后javascript語(yǔ)句
獲得那個(gè)標(biāo)簽之后呢.比如e就是JS代碼中對(duì)這個(gè)標(biāo)簽的對(duì)象引用啦
設(shè)置e.style.display='';//空就表示是默認(rèn)了,而默認(rèn)是要顯示的
那么這個(gè)標(biāo)簽就會(huì)顯示了呀..這個(gè)JS
代碼你可以作為一個(gè)事件處理程序中的一部分..放在onclick里
就形成了點(diǎn)一下按鈕才彈出那個(gè)菜單了噻....
要是你點(diǎn)都不懂編程
肯定不明白我說(shuō)的啥子
要做這個(gè)下拉菜單..起碼要懂HTML
javascript
和CSS的一些最基本基礎(chǔ)
近日碰到一個(gè)問(wèn)題,就是需要將用戶(hù)點(diǎn)擊下拉列表當(dāng)中某個(gè)選項(xiàng)后,將其所選的內(nèi)容保存起來(lái),例如下面的HTML代碼:
復(fù)制代碼
代碼如下:
select
onchange="isSelected(this.value);"
id="city"
option
value="1"北京/option
option
value="2"
上海/option
option
value="2"
廣州/option
/select
也就是說(shuō)當(dāng)用戶(hù)選擇“上?!边@一列時(shí),需要將“上?!边@個(gè)名稱(chēng)保存起來(lái)。其實(shí)方法很簡(jiǎn)單??聪旅鎗avascript代碼:
復(fù)制代碼
代碼如下:
function
isSelected(value)
{
var
cityName;
var
city
=
document.getElementById("city");
//獲取選中的城市名稱(chēng)
for(i=0;icity.length;i++){
if(city[i].selected==true){
cityName
=
city[i].innerText;
//關(guān)鍵點(diǎn)
alert("cityName:"
+
cityName);
}
}
也可以這么做:
復(fù)制代碼
代碼如下:
function
isSelected(value)
{
var
city
=
document.getElementById("city");
alert(city.options[city.selectedIndex].innerText);
}
大致解釋一下,首先在HTML頁(yè)面上有一個(gè)下拉框,并為此下拉框定了一個(gè)“city”的id,并為其綁定了一個(gè)onchange事件,通過(guò)此事件調(diào)用javascript函數(shù)。
在javascript函數(shù)當(dāng)中,通過(guò)domcument對(duì)象獲取當(dāng)前下拉框的節(jié)點(diǎn)元素,由于節(jié)點(diǎn)的值并非只有一個(gè),所以我們可以通過(guò)循環(huán)節(jié)點(diǎn)來(lái)得到每個(gè)選項(xiàng)的值。在循環(huán)的時(shí)候通過(guò)判斷當(dāng)前選項(xiàng)是否選中,如果選中則使用city[i].innerText
方式獲取當(dāng)前所選中的文本值。當(dāng)然如果需要獲取選項(xiàng)值,只需如此即可:city[i].value.
至此,通過(guò)以上方法在IE下已能達(dá)到所要的結(jié)果。但是,在FIREFOX下測(cè)試時(shí),發(fā)現(xiàn)此法不起作用,最后通過(guò)查閱資料發(fā)現(xiàn)另外一個(gè)方法。將city[i].innerText
改為
city[i].text即可。這種方法對(duì)IE及FIXEFOX都適用!
對(duì)于單選下拉列表,value屬性可以直接獲取其選中項(xiàng)的value值。
下面實(shí)例演示——單擊按鈕獲取下拉列表選中項(xiàng)的value值:
1、HTML結(jié)構(gòu)
select?id="test"
option?value="1"option-1/option
option?value="2"option-2/option
option?value="3"option-3/option
option?value="4"option-4/option
/select?br
input?type='button'?value='獲取選中項(xiàng)'?onClick="fun()"/
2、javascript代碼
function?fun(){
obj?=?document.getElementById("test");
alert(obj.value);
}
3、效果演示
javascript添加一個(gè)下拉列表項(xiàng)的方法:創(chuàng)建一個(gè)新的option節(jié)點(diǎn),然后添加到目標(biāo)select對(duì)象中去,關(guān)鍵代碼如下:
1、var objSelect = document.getElementById(select_id)。
2、var new_opt = new Option(objItemText, objItemValue)。
3、objSelect.options.add(new_opt)。
實(shí)例演示如下:
1、HTML結(jié)構(gòu),包括一個(gè)select項(xiàng),含有三個(gè)options。另外,設(shè)置input和button,通過(guò)自由父子,實(shí)現(xiàn)給select增加自定義option。
此時(shí)的顯示效果如下,其中option中有三項(xiàng)。
2、JS的函數(shù)設(shè)計(jì)如下:
現(xiàn)有的options如下:
3、在頁(yè)面上輸入新的數(shù)據(jù),點(diǎn)擊添加。
此時(shí)的select效果顯示如下,自由添加功能實(shí)現(xiàn)。
JavaScript中可以用for循環(huán)提取下拉框中的值,關(guān)鍵代碼如下:
obj?=?document.getElementById("select_id");?//?獲取select對(duì)象
str?=?"";
for(i=0;iobj.options.length;i++){??//?obj.options.length表示下拉選項(xiàng)數(shù)目
str?+=?obj.options[i].text;???//?obj.options[i].text表示第i+1個(gè)下拉項(xiàng)目的文本
}
下面進(jìn)行實(shí)例演示:
1、Html結(jié)構(gòu)
select?id="test"
option?value="1"劉備/option
option?value="2"關(guān)羽/option
option?value="3"張飛/option
/selectbr
input?type='button'?value='獲取select所有選項(xiàng)'?onclick="fun()"/
2、jquery代碼
function?fun(){
obj?=?document.getElementById("test");
str?=?"";
for(i=0;iobj.options.length;i++){
str?+=?obj.options[i].text;
}
alert(str);
}
3、觀察效果
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
titlenav/title
script language="javascript"
// JavaScript Document
startList = function() {
if (document.alldocument.getElementById) {
navRoot = document.getElementById("nav");
for (i=0; inavRoot.childNodes.length; i++) {
node = navRoot.childNodes[i];
if (node.nodeName=="LI") {
node.onmouseover=function() {
this.className+=" over";
}
node.onmouseout=function() {
this.className=this.className.replace(" over", "");
}
}
}
}
}
window.onload=startList;
/script
style type="text/css"
!--
body {
font: normal 11px verdana;
}
ul {
margin: 0;
padding: 0;
list-style: none;
width: 150px; /* Width of Menu Items */
border-bottom: 1px solid #ccc;
}
ul li {
position: relative;
}
li ul {
position: absolute;
left: 149px; /* Set 1px less than menu width */
top: 0;
display: none;
}
/* Styles for Menu Items */
ul li a {
display: block;
text-decoration: none;
color: #777;
background: #fff; /* IE6 Bug */
padding: 5px;
border: 1px solid #ccc; /* IE6 Bug */
border-bottom: 0;
}
/* Holly Hack. IE Requirement \*/
* html ul li { float: left; height: 1%; }
* html ul li a { height: 1%; }
/* End */
li:hover ul, li.over ul { display: block; } /* The magic */
--
/style
/head
body
ul id="nav"
lia href="#"Home/a/li
lia href="#"About/a
ul
lia href="#"History/a/li
lia href="#"Team/a/li
lia href="#"Offices/a/li
/ul
/li
lia href="#"Services/a
ul
lia href="#"Web Design/a/li
lia href="#"Internet Marketing/a/li
lia href="#"Hosting/a/li
lia href="#"Domain Names/a/li
lia href="#"Broadband/a/li
/ul
/li
lia href="#"Contact Us/a
ul
lia href="#"United Kingdom/a/li
lia href="#"France/a/li
lia href="#"USA/a/li
lia href="#"Australia/a/li
/ul
/li
/ul
/body
/html