使用 div 进行 Javascript Png 透明度 hitTest 检测

标签 javascript jquery html css

有没有办法通过 hittest 使用另一个 div 作为引用来检测 div png 背景或 png 图像部分是否透明? 比方说,每次 #char 超过不透明度小于 100% 的像素时,都会检测到并发出警报。有没有办法用 javascript 或 jquery 来解决这个问题?

LIVE DEMO HERE

$(document).ready(function () {

    setInterval(moveChar, 20);
    var keys = {}

    $(document).keydown(function (e) {
        keys[e.keyCode] = true;
    });

    $(document).keyup(function (e) {
        delete keys[e.keyCode];
    });


    function moveChar() {

        for (var direction in keys) {
            if (!keys.hasOwnProperty(direction)) continue;
            if (direction == 37) {
                $("#char").animate({
                    left: "-=5"
                }, 0);
            }
            if (direction == 38) {
                $("#char").animate({
                    top: "-=5"
                }, 0);
            }
            if (direction == 39) {
                $("#char").animate({
                    left: "+=5"
                }, 0);
            }
            if (direction == 40) {
                $("#char").animate({
                    top: "+=5"
                }, 0);
                walk("down");
            }
        }
    }

});

最佳答案

我不确定这是否可行,但我认为它会:

我对这个问题做了相当多的研究,得出的结论是用 JavaScript 创建功能测试是不可行的,IE 6 是唯一不支持的认真使用的浏览器PNG透明度。既然如此,您最好的选择是条件注释,正如 Gabriel Ross 所推荐的那样。可以在纯 JavaScript 中使用条件注释,我认为这就是您想要的:

var div = document.createElement("div");
div.innerHTML = "<!--[if lte IE 6]><i></i><![endif]-->";
var isIe6orLower = (div.getElementsByTagName("i").length == 1);

alert("Is IE 6 or lower: " + isIe6orLower);

See the link

关于使用 div 进行 Javascript Png 透明度 hitTest 检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32731149/

相关文章:

javascript - 函数转换为箭头函数 - 函数未定义

javascript - 如何使用 jQuery 选择变量中的元素?

jquery - 添加额外字段以查找该对象是否与另一个对象相关

javascript - $(document).ready 等效于异步加载的内容

javascript - 没有正则表达式的字母数字验证javascript

javascript - 如何将 JavaScript 对象复制到临时变量中,以便在更改属性后恢复原始对象?

javascript - 需要帮助处理点击事件

javascript - 如何让 window.focus() 在 firefox 中工作

jquery - 如何根据值检查复选框?

html - 在 CSS 网格中选择行