日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JavaScript如何制作放大鏡效果

JavaScript如何制作放大鏡效果?這個問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!

成都創(chuàng)新互聯(lián)服務(wù)項目包括猇亭網(wǎng)站建設(shè)、猇亭網(wǎng)站制作、猇亭網(wǎng)頁制作以及猇亭網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,猇亭網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到猇亭省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

實現(xiàn)原理:使用2個div,里面分別放大圖片和小圖片,在小圖片上應(yīng)該還有一個遮罩層,通過定位遮罩層的位置來定位大圖片的相對位置,而且,遮罩層的移動應(yīng)該和大圖片的移動方向相反

關(guān)鍵: 大圖片和小圖片大小比例應(yīng)該和遮罩層的大小和放大顯示區(qū)域的比例相同;

難點: 計算遮罩層來顯示相應(yīng)大圖片的位置

JavaScript如何制作放大鏡效果

話不多說直接看代碼

代碼

html:

css

#small{
    width: 500px;
    height: 312px;
    position: absolute;
    left: 20px;
    top: 20px;
}
#pic1{
    position: absolute;
    left: 0px;
    top: 0px;
}
#pic1 img{
    width: 100%;
    height: 100%;
}
#big{
    width: 200px;
    height: 200px;
    position: absolute;
    right: 50px;
    top: 50px;
    border: 1px solid blue;
    overflow: hidden;
}
#pic2{
    width: 1000px;
    height: 625px;
    position: absolute;
    left: 0;
    top: 0;
}
#pic2 img{
    width: 100%;
    height: 100%;
}
#mask{
    width: 100px;
    height: 100px;
    background: black;
    opacity: 0.3;/*讓遮罩層看起來透明*/
    filter: alpha(opacity = 30);/*兼容不同的瀏覽器*/
    position: absolute;
    display: none;
}

js

window.onload = function(){//文檔內(nèi)容加載完之后再執(zhí)行
    //當(dāng)鼠標(biāo)移入小圖片,顯示遮罩層和放大的區(qū)域
    $('small').onmouseenter = function(){
        $('mask').style.display = 'block';
        $('big').style.display='block';
    }
        //鼠標(biāo)移出時,隱藏遮罩層和放大的區(qū)域
    $('small').onmouseleave = function(){
        $('mask').style.display='none';
        $('big').style.display="none";
    }
    //鼠標(biāo)移動
    $('small').onmousemove = function(ev){
        var e = ev || window.event;
        //計算鼠標(biāo)的位置,并讓鼠標(biāo)顯示在遮罩層的中間
        var l = e.clientX - $('small').offsetLeft - 50;
        var t = e.clientY - $('small').offsetTop -50;
        //別讓遮罩層移出圖片
        if(l <= 0){
            l = 0;
        }
        if(l >= 500 - 100){
            l = 400;
        }
        if(t <= 0){
            t = 0;
        }
        if(t >= 312 - 100){
            t = 212;
        }
        //遮罩層的移動
        $('mask').style.left = l + 'px';
        $('mask').style.top = t + 'px';
        //通過遮罩層移動,來計算出放大后圖片的顯示區(qū)域
        $("pic2").style.left = -$("mask").offsetLeft * 2 + 'px';
        $("pic2").style.top = -$("mask").offsetTop * 2 + 'px';
    }
}
//為了更容容易的獲取id
function $(id){
    return document.getElementById(id);
}

感謝各位的閱讀!看完上述內(nèi)容,你們對JavaScript如何制作放大鏡效果大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享題目:JavaScript如何制作放大鏡效果
文章路徑:http://www.dlmjj.cn/article/jgjhgc.html