php - 知乎那个小小的图片鼠标有放大镜的功能怎么做到的?放图!
怪我咯
怪我咯 2017-04-10 15:35:29
[PHP讨论组]

上面知乎首页就是这样。
我的鼠标移动到这个图片就变放大镜。
然后我单击右键就变大了。
这个下面就是这样。然后右上角可以关闭。大的图片也变小了。
就这么正常!
就这么优雅!

如何帅气的放大镜。
我再用粗糙的代码也写不出来
我的思路就是这样
这烂思路土得掉牙。
如何给我一个更优雅的思路代码!

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(1)
天蓬老师

写好一个放大图的容器,css设置position:fixed,全屏大小,display:none
中间放大图img,右上角放X

<p id="fullscreen-container">
    <p class="fullscreen-close" onclick="closePreview()"></p>
    <!--下面放大图-->
    <img id="fullscreen-img" class="fullscreen-img" src="">
</p>

<!--这里是小图们-->
<img src="img1.jpg" width="100" height="100" onclick="openPreview(this.src)">
<img src="img2.jpg" width="100" height="100" onclick="openPreview(this.src)">
<img src="img3.jpg" width="100" height="100" onclick="openPreview(this.src)">
<img src="img4.jpg" width="100" height="100" onclick="openPreview(this.src)">

js

function openPreview(url){
    document.getElementbyId('fullscreen-img').src = url;
    document.getElementbyId('fullscreen-container').style.display = "block";
}
function closePreview(){
    document.getElementbyId('fullscreen-container').style.display = "none";
}

至于鼠标的放大镜效果,可以在小图的css上加 cursor: zoom-in,鼠标移过去就会变成放大镜

全屏容器和大图的css大概是:(尺寸具体自己定)

.fullscreen-container{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
}
.fullscreen-img{
    position: absolute;
    width: 1200px;
    height: 600px;
    top: 50%;
    left: 50%;
    margin-left: -600px;
    margin-top: -300px;
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号