最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript針對DOM的應用分析(四)

 更新時間:2012年04月15日 22:24:45   作者:  
從這張開始就和大家說一些實用的效果的寫法。當然首當其沖的就是我們可愛的TAB選項卡,用JQ寫選項卡當然是很方便的而且方法也很多。其實用原生的JS寫選項卡方法也很多
下面我就寫幾個給大家看看
一,點擊傳參方法
復制代碼 代碼如下:

<script>
function tab(dom){
var list = document.getElementById("list").getElementsByTagName("li");
var con = document.getElementById("con").getElementsByTagName("div");
for(var i=0;i<list.length;i++){
if(list==dom){
list.className = "on";
con.style.display = "block";
}
else{
list.className="";
con.style.display="none";
}
}
}
</script>
<div id="list">
<ul>
<li class="on">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
<div id="con">
<div style="display:block;">111111</div>
<div style="display:none;">222222</div>
<div style="display:none;">333333</div>
<div style="display:none;">444444</div>
</div>

我解釋一下
var list = document.getElementById("list").getElementsByTagName("li");
var con = document.getElementById("con").getElementsByTagName("div");
獲取dom元素,這個不用說了吧。寫什么效果第一件事都是獲取元素
復制代碼 代碼如下:

for(var i=0;i<list.length;i++){
if(list==dom){
list.className = "on";
con.style.display = "block";
}
else{
list.className="";
con.style.display="none";
}

遍歷一下所有的li元素,找到和傳進來的dom一樣的東西,然后把他的class設置為on,并且把相對應的div給顯示出來,其他的就全部把className設置為空,并且把對應的div給隱藏。
大概就是這樣。但是大家肯定就都發(fā)現(xiàn)了這樣的寫法的缺點,就是每個li都要設置一個onclick時間傳入它自己。這樣有點違反了結構與表現(xiàn)相分離的道理。所以我們就換種寫法
二,直接寫入鼠標事件方法
復制代碼 代碼如下:

<script>
function tab(){
var list = document.getElementById("list").getElementsByTagName("li");
var con = document.getElementById("con").getElementsByTagName("div");
for(var i = 0;i<list.length;i++)
{
list.onclick=function(){
for(var i=0;i<list.length;i++){
if(list==this){
list.className = "on";
con.style.display = "block";
}
else{
list.className="";
con.style.display="none";
}
}
}
}
}
window.onload=function(){tab();}
</script>
<div id="list">
<ul>
<li class="on">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
<div id="con">
<div style="display:block;">111111</div>
<div style="display:none;">222222</div>
<div style="display:none;">333333</div>
<div style="display:none;">444444</div>
</div>

只是簡單的改動一下就可以了,因為在JS中有這些方法可以用比如onclick,onmouseover等等,但是用的時候我要先把所有的要用這個事件的元素都遍歷一下,如果那個被點擊就會傳入一個this,我們只需要像第一種方法一樣判斷一下list是不是和這個this相同,然后下面的操作和第一種方法一樣
(這樣兩種方法都是比較簡單的寫法,在JS里還有一些比較高級復雜的寫法,但是用到的思想和這兩種寫法大多一樣。)
好了就到這里,建議大家可以用這種方法寫一個圖片切換效果,我想應該很簡單吧

下章繼續(xù)說效果

相關文章

最新評論

星座| 颍上县| 福清市| 灵宝市| 威远县| 子长县| 连山| 凌源市| 兰溪市| 石台县| 龙川县| 奉节县| 万源市| 襄樊市| 东山县| 穆棱市| 丽水市| 松原市| 南涧| 泸水县| 饶平县| 彭泽县| 普兰店市| 阿鲁科尔沁旗| 囊谦县| 石泉县| 商水县| 张家口市| 北辰区| 广安市| 乾安县| 遂平县| 屯留县| 仙桃市| 香港| 许昌县| 偏关县| 富顺县| 泉州市| 蓝田县| 开鲁县|