利用JS實現(xiàn)自定義滾動條

一般默認的滾動條會比較丑,有的需求會讓我們制作簡單漂亮的滾動條颈娜,用來代替系統(tǒng)默認的滾動條锚赤,下面介紹使用簡單的js實現(xiàn)自定義滾動條的功能;
先來看一下效果圖:

效果圖

做這個效果的關(guān)鍵思路就是計算滾動組件和滾動區(qū)域的滾動比例
分成兩種情況揩徊,一種是鼠標點擊小人物拖動,另一個是鼠標滾輪滑動拖動
具體實現(xiàn)代碼如下

HTML結(jié)構(gòu)部分:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>標題</title>
<meta name="keywords" content="">
<meta name="description" content="">
<style>
    *{margin:0; padding:0; list-style:none;}
    body{
        height:2000px;
    }
    .box1{
        width: 320px;
        height: 400px;
        background: #ccc;
        overflow: hidden;
        overflow-y: scroll;
        margin: 20px 0 0 100px;
    }
    .con1{
        font-size: 18px;
    }
    #out{
        width: 320px;
        height: 400px;
        background: url(bg1.png) 0 0 repeat-x;
        position: absolute;
        left: 500px;
        top: 20px;
        overflow: hidden;
    }
    #con{
        width: 280px;
        padding: 5px;
        font-size: 18px;
        position: absolute;
        left: 0px;
        top: 0px;
    }
    #box{
        width: 30px;
        height: 400px;
        position: absolute;
        right: 0;
        top: 0;
    }
    #drag{
        width: 30px;
        height: 53px;
        background: url(icon2.png) 0 0 no-repeat;
        position: absolute;
        left: 0px;
        top: 0px;
    }
</style>
</head>
<body>
<div class="box1">
    <p class="con1">據(jù)新華社電中航工業(yè)、國機集團等8家央企6日在京簽約塑荒,在重要項目熄赡、科技轉(zhuǎn)化等相關(guān)領(lǐng)域開展重組合作整合,這將成為央企間產(chǎn)業(yè)聯(lián)合協(xié)作的新典范齿税,也將開啟央企間產(chǎn)業(yè)重組合作整合的新階段彼硫。
相關(guān)合作內(nèi)容包括:中航工業(yè)和國機集團共同發(fā)展八萬噸模鍛壓機項目;中航工業(yè)將房地產(chǎn)業(yè)務全部劃轉(zhuǎn)保利集團凌箕,中核建設(shè)和中國一重在高溫氣冷堆主設(shè)備制造領(lǐng)域合作乌助,兵器工業(yè)、兵器裝備陌知、中國國新對北方公司進行股權(quán)重組。
國務院國資委主任肖亞慶在6日參加中央企業(yè)產(chǎn)業(yè)合作座談會上表示掖肋,下一步仆葡,國資委政策將加碼推動央企產(chǎn)業(yè)重組步伐,通過業(yè)務整合志笼、資產(chǎn)重組沿盅、股權(quán)合作、資產(chǎn)置換纫溃、無償劃轉(zhuǎn)腰涧、協(xié)議轉(zhuǎn)讓、戰(zhàn)略聯(lián)盟紊浩、聯(lián)合開發(fā)等多途徑窖铡,加快央企間產(chǎn)業(yè)重組合作整合。
肖亞慶同時清晰地勾勒出國企改革兼并重組“路線圖”:通過產(chǎn)業(yè)重組坊谁,在突破關(guān)鍵技術(shù)费彼、掌握核心資源,打造知名品牌等方面口芍,實現(xiàn)產(chǎn)業(yè)重組合作“一加一大于二”的效果箍铲。肖亞慶同時透露,目前部分央企在牽頭技術(shù)創(chuàng)新戰(zhàn)略聯(lián)盟鬓椭、設(shè)立創(chuàng)新投資基金颠猴、構(gòu)建創(chuàng)新孵化平臺等方面,取得了重大突破小染。據(jù)統(tǒng)計翘瓮,央企牽頭國家及地方技術(shù)創(chuàng)新聯(lián)盟141個,50多家中央企業(yè)共發(fā)起和參與基金179只氧映,構(gòu)建面向社會的創(chuàng)新孵化平臺57個春畔,創(chuàng)業(yè)創(chuàng)新平臺27個。
“此次集中簽約,意味著央企重組的重心開始向資本律姨、項目振峻、產(chǎn)業(yè)板塊等內(nèi)部要素轉(zhuǎn)移≡穹荩”中國企業(yè)研究院首席研究員李錦說扣孟,未來,央企間產(chǎn)業(yè)重組合作整合將被更快地推進荣赶,央企內(nèi)部的各種要素將被再次優(yōu)化凤价。</p>
</div>

<div id="out">
    <div id="con">據(jù)新華社電中航工業(yè)、國機集團等8家央企6日在京簽約拔创,在重要項目利诺、科技轉(zhuǎn)化等相關(guān)領(lǐng)域開展重組合作整合,這將成為央企間產(chǎn)業(yè)聯(lián)合協(xié)作的新典范剩燥,也將開啟央企間產(chǎn)業(yè)重組合作整合的新階段慢逾。
相關(guān)合作內(nèi)容包括:中航工業(yè)和國機集團共同發(fā)展八萬噸模鍛壓機項目;中航工業(yè)將房地產(chǎn)業(yè)務全部劃轉(zhuǎn)保利集團灭红,中核建設(shè)和中國一重在高溫氣冷堆主設(shè)備制造領(lǐng)域合作侣滩,兵器工業(yè)、兵器裝備变擒、中國國新對北方公司進行股權(quán)重組君珠。
國務院國資委主任肖亞慶在6日參加中央企業(yè)產(chǎn)業(yè)合作座談會上表示,下一步娇斑,國資委政策將加碼推動央企產(chǎn)業(yè)重組步伐策添,通過業(yè)務整合、資產(chǎn)重組悠菜、股權(quán)合作舰攒、資產(chǎn)置換、無償劃轉(zhuǎn)悔醋、協(xié)議轉(zhuǎn)讓摩窃、戰(zhàn)略聯(lián)盟、聯(lián)合開發(fā)等多途徑芬骄,加快央企間產(chǎn)業(yè)重組合作整合猾愿。
肖亞慶同時清晰地勾勒出國企改革兼并重組“路線圖”:通過產(chǎn)業(yè)重組,在突破關(guān)鍵技術(shù)账阻、掌握核心資源蒂秘,打造知名品牌等方面,實現(xiàn)產(chǎn)業(yè)重組合作“一加一大于二”的效果淘太。肖亞慶同時透露姻僧,目前部分央企在牽頭技術(shù)創(chuàng)新戰(zhàn)略聯(lián)盟规丽、設(shè)立創(chuàng)新投資基金、構(gòu)建創(chuàng)新孵化平臺等方面撇贺,取得了重大突破赌莺。據(jù)統(tǒng)計,央企牽頭國家及地方技術(shù)創(chuàng)新聯(lián)盟141個松嘶,50多家中央企業(yè)共發(fā)起和參與基金179只艘狭,構(gòu)建面向社會的創(chuàng)新孵化平臺57個,創(chuàng)業(yè)創(chuàng)新平臺27個翠订。
“此次集中簽約巢音,意味著央企重組的重心開始向資本、項目尽超、產(chǎn)業(yè)板塊等內(nèi)部要素轉(zhuǎn)移官撼。”中國企業(yè)研究院首席研究員李錦說似谁,未來歧寺,央企間產(chǎn)業(yè)重組合作整合將被更快地推進,央企內(nèi)部的各種要素將被再次優(yōu)化棘脐。</div>
    <div id="box">
        <p id="drag"></p>
    </div>
</div>
</body>

javascript部分:

    var out=document.getElementById('out');
    var con=document.getElementById('con');
    var box=document.getElementById('box');
    var drag=document.getElementById('drag');
    //鼠標點擊拖動部分
    drag.onmousedown=function (ev){
        var e=ev||window.event;
        if (e.preventDefault) {
            e.preventDefault();
        } else{
            e.returnValue=false;
        };
        //鼠標點擊位置距離拖動組件頂部的距離
        var d_bkt=e.clientY-drag.offsetTop;
        //鼠標拖動函數(shù)
        document.onmousemove=function (ev){
            var e=ev||window.event;
            var top=e.clientY-d_bkt;
            if (top<=0) {
                top=0;
            };
            if (top>=box.clientHeight-drag.clientHeight) {
                top=box.clientHeight-drag.clientHeight;
            };
            //計算滾動比例
            var scale=top/(box.clientHeight-drag.clientHeight);
            //滾動區(qū)域的滾動距離
            var cony=scale*(con.clientHeight-out.clientHeight);
            drag.style.top=top+'px';
            con.style.top=-cony+'px';
            console.log(top);
        }
        document.onmouseup=function (){
            document.onmousemove=null;
        }
    }
    //以下為鼠標滾輪事件
    var str=window.navigator.userAgent.toLowerCase();
    if (str.indexOf('firefox')!=-1) {//火狐瀏覽器
        out.addEventListener('DOMMouseScroll',function (e){
            e.preventDefault();//阻止窗口默認的滾動事件
        if (e.detail<0) {//下滾
            var t=con.offsetTop+20;
            if (t>=0) {
                t=0;
            };
            if (t<=-(con.clientHeight-out.clientHeight)) {
                t=-(con.clientHeight-out.clientHeight);
            };
            //計算滾動條和滾動區(qū)域的滾動比例
            var scale=t/(con.clientHeight-out.clientHeight);
            //滾動區(qū)域的滾動距離
            var top=scale*(box.clientHeight-drag.clientHeight);
            con.style.top=t+'px';
            drag.style.top=-top+'px';
        };
        if (e.detail>0) {//上滾
            var t=con.offsetTop-20;
            if (t>=0) {
                t=0;
            };
            if (t<=-(con.clientHeight-out.clientHeight)) {
                t=-(con.clientHeight-out.clientHeight);
            };
            var scale=t/(con.clientHeight-out.clientHeight);
            var top=scale*(box.clientHeight-drag.clientHeight);
            con.style.top=t+'px';
            drag.style.top=-top+'px';
        };
        },false);
    } else{//非火狐瀏覽器
        out.onmousewheel=function (ev){
            var e=ev||window.event;
            if (e.preventDefault) {
                e.preventDefault();
            } else{
                e.returnValue=false;
            };
            if (e.wheelDelta>0) {//下滾
            var t=con.offsetTop+20;
            if (t>=0) {
                t=0;
            };
            if (t<=-(con.clientHeight-out.clientHeight)) {
                t=-(con.clientHeight-out.clientHeight);
            };
            var scale=t/(con.clientHeight-out.clientHeight);
            var top=scale*(box.clientHeight-drag.clientHeight);
            con.style.top=t+'px';
            drag.style.top=-top+'px';
        };
        if (e.wheelDelta<0) {//上滾
            var t=con.offsetTop-20;
            if (t>=0) {
                t=0;
            };
            if (t<=-(con.clientHeight-out.clientHeight)) {
                t=-(con.clientHeight-out.clientHeight);
            };
            //設(shè)置滾動比例
            var scale=t/(con.clientHeight-out.clientHeight);
            //設(shè)置滾動區(qū)域的滾動距離
            var top=scale*(box.clientHeight-drag.clientHeight);
            con.style.top=t+'px';
            drag.style.top=-top+'px';
        };
        }
    };

2017-03-13

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市龙致,隨后出現(xiàn)的幾起案子蛀缝,更是在濱河造成了極大的恐慌,老刑警劉巖目代,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屈梁,死亡現(xiàn)場離奇詭異,居然都是意外死亡榛了,警方通過查閱死者的電腦和手機在讶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來霜大,“玉大人构哺,你說我怎么就攤上這事≌嚼ぃ” “怎么了曙强?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長途茫。 經(jīng)常有香客問我碟嘴,道長,這世上最難降的妖魔是什么囊卜? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任娜扇,我火速辦了婚禮错沃,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘雀瓢。我一直安慰自己枢析,他們只是感情好,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布致燥。 她就那樣靜靜地躺著登疗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嫌蚤。 梳的紋絲不亂的頭發(fā)上辐益,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機與錄音脱吱,去河邊找鬼智政。 笑死,一個胖子當著我的面吹牛箱蝠,可吹牛的內(nèi)容都是我干的续捂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼宦搬,長吁一口氣:“原來是場噩夢啊……” “哼牙瓢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起间校,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤矾克,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后憔足,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胁附,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年滓彰,在試婚紗的時候發(fā)現(xiàn)自己被綠了控妻。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡揭绑,死狀恐怖弓候,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情他匪,我是刑警寧澤弓叛,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站诚纸,受9級特大地震影響撰筷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜畦徘,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一毕籽、第九天 我趴在偏房一處隱蔽的房頂上張望抬闯。 院中可真熱鬧,春花似錦关筒、人聲如沸溶握。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽睡榆。三九已至,卻和暖如春袍榆,著一層夾襖步出監(jiān)牢的瞬間胀屿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工包雀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留宿崭,地道東北人。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓才写,卻偏偏與公主長得像葡兑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子赞草,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,262評論 25 707
  • 人性都是有缺憾的讹堤,只要還活著,就必定會要去忍受這些厨疙,海納百川蜕劝,有容乃大,胸懷大一點轰异,煩惱就會少一點,然而我們都不是...
    安小茗閱讀 171評論 0 0
  • 先來飽個眼福吧牙肝! 1.吃對 營養(yǎng)公式:適度的優(yōu)質(zhì)蛋白質(zhì)食品+低脂食品+高碳水化合物食品 糖類供能比例應該占到總能量...
    AJJI愛活力閱讀 207評論 0 0
  • 說得清的配椭,都不叫愛情。忘得了的雹姊,都不是遺憾股缸。 有戈壁就應有綠洲,有滄海就應有礁嶼吱雏,前路遠且長敦姻,總有些單飛的鳥兒乏了...
    道無顯隱閱讀 261評論 0 0
  • 1 記得本科時候 數(shù)學分析課 經(jīng)常在上午的10-12.00 那個時候大家一般都處于饑餓狀態(tài) 至少當時的我是那個樣子...
    懿人行走閱讀 318評論 0 0