一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

Javascript 圓角div的實(shí)現(xiàn)代碼

現(xiàn)在實(shí)現(xiàn)圓角普遍用圖片來(lái)控制,這種方法有其優(yōu)點(diǎn)(產(chǎn)生的圓角平滑)。 但同時(shí)他也要求有吻合的圖片,如果要?jiǎng)討B(tài)的改變div的樣式顏色則有些力不從心。還有就是用js來(lái)實(shí)現(xiàn)。
實(shí)現(xiàn)后的調(diào)用代碼 如下
復(fù)制代碼 代碼如下:
var objDiv = getRoundDiv.call(document,"solid 1px yellow","#dddddd")
objDiv.Div.style.width="100px";
objDiv.Content.style.margin="6 6 6 6 "
objDiv.Content.innerText="這是一個(gè)圓角div測(cè)試"
document.body.appendChild(objDiv.Div);


這樣就產(chǎn)生了一個(gè)圓角div
實(shí)現(xiàn)原理:原理其實(shí)很簡(jiǎn)單,在div的top和bottom 加上三條線,用這三條線的不同長(zhǎng)度來(lái)產(chǎn)生圓角的效果。

實(shí)現(xiàn)過(guò)程: 如何實(shí)現(xiàn)這三條線呢。 用<b> 這個(gè)元素,將其高度 設(shè)置為1px 。如果要顯示邊框則為其添加左邊框和右邊框。添加好線條以后,將內(nèi)容div 和這三條線放在一個(gè)容器里,這個(gè)容器也是一個(gè)div。最終返回一個(gè)div類(lèi),這個(gè)類(lèi)放兩個(gè)屬性,一個(gè)是容器div,通過(guò)這個(gè)容器div可以控制圖形出現(xiàn)的位置和大小高度等屬性。另一個(gè)屬性是內(nèi)容div,通過(guò)這個(gè)div可以設(shè)置這個(gè)div的內(nèi)容,margin,字體顏色,背景顏色,字體大小,等屬性。

注意的問(wèn)題: 調(diào)用 getRoundDiv 這個(gè)方法需要傳遞一個(gè)方法上下文。我的理解是方法上下文相當(dāng)與一個(gè)指針,指向調(diào)用方法的對(duì)象。為什么要用這個(gè)方法上下文呢? 比如要在ie的 creatPopup 方法 產(chǎn)生出來(lái)的popup文檔內(nèi)新建一個(gè)圓角div的話,由于popup只能加載他自己創(chuàng)建的控件,所以可以將popup對(duì)象傳遞到方法內(nèi)部,成為方法上下文指向的對(duì)象。 傳遞上下文的方法有兩種function.call(obj,"arg1","arg2") 類(lèi)似與這樣。 另一種是 function.apply(obj,arguments)

詳細(xì)代碼如下:
復(fù)制代碼 代碼如下:
/**************************************************************************/
/*RoundDiv.js 產(chǎn)生一個(gè)圓角div
調(diào)用前需設(shè)置函數(shù)上下文(上下文是指,要?jiǎng)?chuàng)建div的窗口) 例如 var objDiv = getRoundDiv.call(document,"","#dddddd")
函數(shù)參數(shù)argBorderStyle: 邊框樣式,字符串 例如 "1px solid black"
函數(shù)參數(shù)argBgColor: 背景顏色,字符串 例如 "#ffffff"
現(xiàn)在只支持邊框?yàn)?像素 如果超過(guò)1像素產(chǎn)生的圖形會(huì)比較奇怪
如果不設(shè)置邊框 則沒(méi)有邊框 可以正常使用
本函數(shù)返回的是一個(gè)RoundDiv自定義類(lèi)
如果要設(shè)置div的內(nèi)容請(qǐng)用 obj.Content.innerHtml 或 obj.Content.innerText設(shè)置
如果要設(shè)置div的高度請(qǐng)用 obj.Div.style.width obj.Div.style.height設(shè)置
*/
/**************************************************************************/
/**************************************************************************/
//取得一個(gè)圓角div
function getRoundDiv(argBorderStyle,argBgColor){

    //創(chuàng)建元素
    var divPane =this.createElement("div")
    var divContent =this.createElement("div")
    var divContentMax =this.createElement("div")
    var bTop =this.createElement("b")
    var bBottom =this.createElement("b")
    var bTop1 =this.createElement("b")
    var bTop2 =this.createElement("b")
    var bTop3 =this.createElement("b")
    var bTop4 =this.createElement("b")
    var bBottom1 =this.createElement("b")
    var bBottom2 =this.createElement("b")
    var bBottom3 =this.createElement("b")
    var bBottom4 =this.createElement("b")

    //背景設(shè)置
    divPane.style.backgroundColor=argBgColor;
    divContent.style.backgroundColor=argBgColor;
    divContentMax.style.backgroundColor=argBgColor;

    bTop1.style.backgroundColor=argBgColor;
    bTop2.style.backgroundColor=argBgColor;
    bTop3.style.backgroundColor=argBgColor;
    bTop4.style.backgroundColor=argBgColor;
    bBottom1.style.backgroundColor=argBgColor;
    bBottom2.style.backgroundColor=argBgColor;
    bBottom3.style.backgroundColor=argBgColor;
    bBottom4.style.backgroundColor=argBgColor;
    bTop.style.backgroundColor="#ffffff";
    bBottom.style.backgroundColor="#ffffff";

    //樣式設(shè)置
    bTop.style.overflow="hidden";
    bBottom.style.overflow="hidden";
    bTop1.style.overflow="hidden";
    bTop2.style.overflow="hidden";
    bTop3.style.overflow="hidden";
    bTop4.style.overflow="hidden";
    bBottom1.style.overflow="hidden";
    bBottom2.style.overflow="hidden";
    bBottom3.style.overflow="hidden";
    bBottom4.style.overflow="hidden";

    bTop.style.display="block";
    bBottom.style.display="block";
    bTop1.style.display="block";
    bTop2.style.display="block";
    bTop3.style.display="block";
    bTop4.style.display="block";
    bBottom1.style.display="block";
    bBottom2.style.display="block";
    bBottom3.style.display="block";
    bBottom4.style.display="block";

    
    //高度設(shè)置
    divContent.style.height="100%";
    divContentMax.style.height="100%";

    bTop1.style.height="1px";
    bTop2.style.height="1px";
    bTop3.style.height="1px";
    bTop4.style.height="2px";

    bBottom1.style.height="1px";
    bBottom2.style.height="1px";
    bBottom3.style.height="1px";
    bBottom4.style.height="2px";

    
    //邊框設(shè)置
    divContentMax.style.borderLeft=argBorderStyle
    divContentMax.style.borderRight=argBorderStyle

    bTop1.style.borderLeft=argBorderStyle;
    bTop1.style.borderRight=argBorderStyle;
    bTop1.style.borderTop=argBorderStyle;
    bTop2.style.borderLeft=argBorderStyle;
    bTop2.style.borderRight=argBorderStyle;
    bTop3.style.borderLeft=argBorderStyle;
    bTop3.style.borderRight=argBorderStyle;
    bTop4.style.borderRight=argBorderStyle;
    bTop4.style.borderLeft=argBorderStyle;
    bBottom1.style.borderLeft=argBorderStyle;
    bBottom1.style.borderRight=argBorderStyle;
    bBottom1.style.borderTop=argBorderStyle;
    bBottom2.style.borderLeft=argBorderStyle;
    bBottom2.style.borderRight=argBorderStyle;
    bBottom3.style.borderLeft=argBorderStyle;
    bBottom3.style.borderRight=argBorderStyle;
    bBottom4.style.borderLeft=argBorderStyle;
    bBottom4.style.borderRight=argBorderStyle;

    
    //空白間距設(shè)置
    bTop1.style.margin="0 4px 0 4px"
    bTop2.style.margin="0 3px 0 3px"
    bTop3.style.margin="0 2px 0 2px"
    bTop4.style.margin="0 1px 0 1px"

    bBottom1.style.margin="0 4px 0 4px"
    bBottom2.style.margin="0 3px 0 3px"
    bBottom3.style.margin="0 2px 0 2px"
    bBottom4.style.margin="0 1px 0 1px"

    //控件拼裝
    bTop.appendChild(bTop1);
    bTop.appendChild(bTop1);
    bTop.appendChild(bTop2);
    bTop.appendChild(bTop3);
    bTop.appendChild(bTop4);    
    bBottom.appendChild(bBottom4);
    bBottom.appendChild(bBottom3);
    bBottom.appendChild(bBottom2);
    bBottom.appendChild(bBottom1);

    divContentMax.appendChild(divContent)
    divPane.appendChild(bTop)
    divPane.appendChild(divContentMax)
    divPane.appendChild(bBottom)
    var objRoundDiv = new RoundDiv();
    objRoundDiv.Div=divPane;
    objRoundDiv.Content=divContent;
    return objRoundDiv;

}
/**************************************************************************/
/**************************************************************************/
//自定義類(lèi)(用來(lái)裝載div對(duì)應(yīng)內(nèi)容)
function RoundDiv(){
    this.content=0;//div內(nèi)容
    this.div=0;//div容器
}
/**************************************************************************/

JavaScript技術(shù)Javascript 圓角div的實(shí)現(xiàn)代碼,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 黄色三级视频网站 | 亚洲精品在线观看91 | 丁香激情综合 | nxgx欧美| 亚洲一区二区三区免费看 | 亚洲香蕉网久久综合影院3p | 久久综合88 | 中文一区二区 | 国内真实愉拍系列情侣自拍 | 波多野结衣在线观看一区二区三区 | 亚洲美女色视频 | 99视频免费播放 | 午夜视频国语 | 久久夜色精品国产欧美 | 国产一区二区在线观看免费 | 99亚洲视频| 午夜视频一区二区三区 | 国产精品 视频一区 二区三区 | 国产精品青草久久久久福利99 | 91网站网站网站在线 | 丁香五婷婷| 伊人久久综在合线亚洲91 | 国产精品欧美久久久久天天影视 | 91精品国产麻豆91久久久久久 | 久草久爱| 国产精品合集一区二区三区 | 51短视频版在线观看www免费 | 怡红院免费va男人的天堂 | 888米奇四色极速在线观看 | 国产美女精品久久久久久久免费 | 思思玖玖玖在线精品视频 | 欧美黑人粗硬大在线看 | 网红福利在线 | 国产三级自拍 | 久久国产自偷自偷免 | 草草视频手机在线观看视频 | 欧美综合色另类图片区 | 91久久精品一区二区 | 91精品国产综合久久青草 | 精品国产区一区二区三区在线观看 | 久久亚洲欧美日本精品品 |