前端基本功:JS(十一)手風(fēng)琴焦點(diǎn)圖

手風(fēng)琴焦點(diǎn)圖:

手風(fēng)琴焦點(diǎn)圖

案例源碼:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        ul{list-style: none}
        *{margin:0; padding:0;}
        div{
            width: 1150px;
            height: 400px;
            margin:50px auto;
            border:1px solid red;
            overflow: hidden;
        }
        div li {
            width: 240px;
            height: 400px;
            float: left;
        }
        div ul {
            width: 1300px;
        }
    </style>
</head>
<body>
<div>
    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
</div>
</body>
</html>
<script src="animate.js"></script>
<script>
    var box = document.getElementsByTagName("div")[0];
    var lis = box.children[0].children;
    for(var i=0;i<lis.length;i++)
    {
        lis[i].style.backgroundImage = "url(images/"+(i+1)+".jpg)";
        lis[i].onmouseover = function() {
            for(var i=0;i<lis.length;i++)
            {
                animate(lis[i],{width:100});
            }
            animate(this,{width:800});
        }
        lis[i].onmouseout = function(){
            for(var i=0;i<lis.length;i++)
            {
                animate(lis[i],{width:240});
            }
         }
    }
</script>

其中animate.js

// 多個(gè)屬性運(yùn)動(dòng)框架  添加回調(diào)函數(shù)
function animate(obj,json,fn) {  // 給誰    json
    clearInterval(obj.timer);
    obj.timer = setInterval(function() {
        var flag = true;  // 用來判斷是否停止定時(shí)器   一定寫到遍歷的外面
        for(var attr in json){   // attr  屬性     json[attr]  值
            //開始遍歷 json
            // 計(jì)算步長    用 target 位置 減去當(dāng)前的位置  除以 10
            // console.log(attr);
            var current = 0;
            if(attr == "opacity")
            {
                current = parseInt(getStyle(obj,attr)*100);
            }
            else
            {
                current = parseInt(getStyle(obj,attr)); // 數(shù)值
            }
            // console.log(current);
            // 目標(biāo)位置就是  屬性值
            var step = ( json[attr] - current) / 10;  // 步長  用目標(biāo)位置 - 現(xiàn)在的位置 / 10
            step = step > 0 ? Math.ceil(step) : Math.floor(step);
            //判斷透明度
            if(attr == "opacity")  // 判斷用戶有沒有輸入 opacity
            {
                if("opacity" in obj.style)  // 判斷 我們?yōu)g覽器是否支持opacity
                {
                    // obj.style.opacity
                    obj.style.opacity = (current + step) /100;
                }
                else
                {  // obj.style.filter = alpha(opacity = 30)
                    obj.style.filter = "alpha(opacity = "+(current + step)+")";
                    console.log(current);
                }
            }
            else if(attr == "zIndex")
            {
                obj.style.zIndex = json[attr];
            }
            else
            {
                obj.style[attr] = current  + step + "px" ;
            }

            if(current != json[attr])  // 只要其中一個(gè)不滿足條件 就不應(yīng)該停止定時(shí)器  這句一定遍歷里面
            {
                flag =  false;
            }
        }
        if(flag)  // 用于判斷定時(shí)器的條件
        {
            clearInterval(obj.timer);
            //alert("ok了");
            if(fn)   // 很簡單   當(dāng)定時(shí)器停止了惋啃。 動(dòng)畫就結(jié)束了  如果有回調(diào),就應(yīng)該執(zhí)行回調(diào)
            {
                fn(); // 函數(shù)名 +  ()  調(diào)用函數(shù)  執(zhí)行函數(shù)
            }
        }
    },5)
}
function getStyle(obj,attr) {  //  誰的      那個(gè)屬性
    if(obj.currentStyle)  // ie 等
    {
        return obj.currentStyle[attr];  // 返回傳遞過來的某個(gè)屬性
    }
    else
    {
        return window.getComputedStyle(obj,null)[attr];  // w3c 瀏覽器
    }
}

此案例圖片獲裙嫒琛:
鏈接:http://pan.baidu.com/s/1geLaEsz 密碼:fmk2

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市栽燕,隨后出現(xiàn)的幾起案子罕袋,更是在濱河造成了極大的恐慌,老刑警劉巖碍岔,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浴讯,死亡現(xiàn)場離奇詭異,居然都是意外死亡蔼啦,警方通過查閱死者的電腦和手機(jī)榆纽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人奈籽,你說我怎么就攤上這事饥侵。” “怎么了衣屏?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵躏升,是天一觀的道長。 經(jīng)常有香客問我狼忱,道長膨疏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任钻弄,我火速辦了婚禮佃却,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘窘俺。我一直安慰自己饲帅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布瘤泪。 她就那樣靜靜地躺著洒闸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪均芽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天单鹿,我揣著相機(jī)與錄音掀宋,去河邊找鬼。 笑死仲锄,一個(gè)胖子當(dāng)著我的面吹牛劲妙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播儒喊,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼镣奋,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了怀愧?” 一聲冷哼從身側(cè)響起侨颈,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎芯义,沒想到半個(gè)月后哈垢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扛拨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年耘分,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,144評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡求泰,死狀恐怖央渣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情渴频,我是刑警寧澤芽丹,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站枉氮,受9級特大地震影響志衍,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜聊替,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一楼肪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧惹悄,春花似錦春叫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至当纱,卻和暖如春呛每,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背坡氯。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工晨横, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人箫柳。 一個(gè)月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓手形,卻偏偏與公主長得像,于是被迫代替她去往敵國和親悯恍。 傳聞我的和親對象是個(gè)殘疾皇子库糠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評論 2 355

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

  • 知識點(diǎn) 知識點(diǎn)匯總鏈接:http://pan.baidu.com/s/1dFFq1mp 密碼:hdvc 程序員英語...
    月老下次記de給我打死結(jié)閱讀 4,535評論 3 46
  • 這是一些學(xué)習(xí)資源,里面有Android的,iOS的,PHP的,大數(shù)據(jù)的,Java的,web前端的,C++,Pyth...
    草蜢的逆襲閱讀 5,176評論 1 50
  • 這是一些學(xué)習(xí)資源,里面有Android的,iOS的,PHP的,大數(shù)據(jù)的,Java的,web前端的,C++,Pyth...
    青青青青閱讀 3,331評論 2 24
  • 4天的脫產(chǎn)培訓(xùn)課程雖然已經(jīng)結(jié)束了瞬欧,但我們對于學(xué)習(xí)的熱情并沒有因課程結(jié)束而結(jié)束。感謝HR的精心安排罢防,8位培訓(xùn)導(dǎo)師的精...
    ajctyp666閱讀 645評論 4 6
  • 孤獨(dú)與生俱來蘑秽, 談戀愛只是有個(gè)人陪你孤獨(dú)澜倦, 不代表就能幸免于難识樱。 ——賈彬彬 文丨舊故麻袋 ∨ 他和她相愛了汽纠。 這...
    舊故麻袋閱讀 461評論 0 0