天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Javascript 圓角div的實現代碼

現在實現圓角普遍用圖片來控制,這種方法有其優點(產生的圓角平滑)。 但同時他也要求有吻合的圖片,如果要動態的改變div的樣式顏色則有些力不從心。還有就是用js來實現。
實現后的調用代碼 如下
復制代碼 代碼如下:
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="這是一個圓角div測試"
document.body.appendChild(objDiv.Div);


這樣就產生了一個圓角div
實現原理:原理其實很簡單,在div的top和bottom 加上三條線,用這三條線的不同長度來產生圓角的效果。

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

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

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

    //創建元素
    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")

    //背景設置
    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";

    //樣式設置
    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";

    
    //高度設置
    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";

    
    //邊框設置
    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;

    
    //空白間距設置
    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;

}
/**************************************************************************/
/**************************************************************************/
//自定義類(用來裝載div對應內容)
function RoundDiv(){
    this.content=0;//div內容
    this.div=0;//div容器
}
/**************************************************************************/

JavaScript技術Javascript 圓角div的實現代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产成人精品免费视频大全可播放的 | 芭乐视频网页版在线观看 | 天天狠狠弄夜夜狠狠躁·太爽了 | 国产二级一片内射视频播放 | 国产成人精品综合在线观看 | 亚洲综合中文字幕无线码 | 欧美大香线蕉线伊人久久 | 男女疯狂一边摸一边做羞羞视频 | 92精品国产成人观看免费 | 99热在线观看精品 | 天天狠狠弄夜夜狠狠躁·太爽了 | 四虎影院网红美女 | 蜜芽亚洲欧美一区二区电影 | 久久se视频精品视频在线 | 中字幕视频在线永久在线 | 两个人的视频日本在线观看完整 | 国产色婷亚洲99精品AV在 | 成人午夜精品无码区久久漫画日本 | 红桃传媒少妇人妻网站无码抽插 | 国产对白精品刺激一区二区 | 快插我我好湿啊公交车上做 | 久久re这里视频只精品首页 | 1区2区3区4区产品不卡码网站 | 琪琪色原网20岁以下热热色原网站 | 日韩人妻无码专区一本二本 | 国产白丝精品爽爽久久蜜臀 | 国内视频在线精品一区 | 两性午夜色视频免费网站 | 国产精品一区第二页 | 东北小伙FREECHINESE野外 东北嫖妓对白粗口 | 伊人久久综在合线影院 | 国产亚洲精品首页在线播放 | 亚洲精品免费视频 | 海角国精产品一区一区三区糖心 | 热99re久久精品国产首页 | 国产在线亚洲v天堂a | 寂寞夜晚视频在线观看 | 久久亚洲电影www电影网 | 国内精品七七久久影院 | 特黄特色大片免费播放器试看 | 国模丽丽啪啪一区二区 |