实战案例——点击图片全屏显示

全屏图片点击切换效果实现
这段代码展示了如何实现点击图片进入全屏查看,并支持退出全屏的功能。通过监听图片点击事件,调用浏览器的全屏API实现全屏切换。同时,使用了前缀检查方法确保在不同浏览器上的兼容性。

效果见 https://demo.cssworld.cn/selector/12/2-1.php

<h4>点击查看大图</h4>
<div id="img" class="cs-img-x">
    <img class="cs-img" src="/images/common/l/1.jpg">
</div>
:fullscreen .cs-img {
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
}
(function() {
    var runPrefixMethod = function(element, method) {
        var usablePrefixMethod;
        ["webkit", "moz", "ms", ""].forEach(function(prefix) {
            if (usablePrefixMethod) return;
            if (prefix === "") {
                // 无前缀,方法首字母小写
                method = method.slice(0,1).toLowerCase() + method.slice(1);  
            }
            
            var typePrefixMethod = typeof element[prefix + method];
            
            if (typePrefixMethod + "" !== "undefined") {
                if (typePrefixMethod === "function") {
                    usablePrefixMethod = element[prefix + method]();
                } else {
                    usablePrefixMethod = element[prefix + method];
                }
            }
        });
        
        return usablePrefixMethod;
    };
    
    if (typeof window.screenX === "number") {
        img.addEventListener("click", function() {
            if (runPrefixMethod(document, "FullScreen") || runPrefixMethod(document, "IsFullScreen")) {
                runPrefixMethod(document, "CancelFullScreen");
            } else {
                runPrefixMethod(this, "RequestFullScreen")            
            }
        });
    }
})();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值