首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对一类图像使用Pixastic和.live

对一类图像使用Pixastic和.live
EN

Stack Overflow用户
提问于 2011-08-12 02:01:50
回答 2查看 1.7K关注 0票数 2

我正在使用JavaScript中的Pixastic插件。我有一个表格,里面装满了模糊的图像。当我用鼠标检查它们时,我希望它们变得正常。当鼠标离开图像时,我希望它变模糊。由于某些原因,我的代码不能工作。代码如下:

之前,我复制了错误的代码部分,我为这就是我询问的代码部分道歉。

代码语言:javascript
复制
<script type="text/javascript">
    $(document).ready(function(){
        $('.photography').live('mouseover mouseout', function(event) {
            if (event.type == 'mouseover') {
                function () {Pixastic.revert('this');};
            }
            else {
                function(){Pixastic.process('this', "blurfast", {amount:0.5});};
            }
        });
    });
</script>

好吧,所以我设法找到了我的旧代码,它实际上工作了一半(当我第一次将鼠标悬停在图像上时,它可以工作,但当我第二次尝试时,它不是)。

代码语言:javascript
复制
$(document).ready(function(){
    var blur = function() {Pixastic.process(this, "blurfast", {amount:0.5});};
    var unblur = function () {Pixastic.revert(this);};
    $('.photography').each(blur);
    $('.photography').hover(unblur,blur);
});

好了,现在我还要为名为revert的函数添加代码

代码语言:javascript
复制
revert : function(img) {
    if (Pixastic.Client.hasCanvas()) {
        if (img.tagName.toLowerCase() == "canvas" && img.__pixastic_org_image) {
            img.width = img.__pixastic_org_width;
            img.height = img.__pixastic_org_height;
            img.getContext("2d").drawImage(img.__pixastic_org_image, 0, 0);

            if (img.parentNode && img.parentNode.replaceChild) {
                img.parentNode.replaceChild(img.__pixastic_org_image, img);;
            }
            return img;
        }
    }
    else
        if (Pixastic.Client.isIE()) {
            if (typeof img.__pixastic_org_style != "undefined")
                img.style.cssText = img.__pixastic_org_style;
            }
        }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-13 17:21:30

所以昨天我的朋友发现了如何做到这一点。问题是插件会把图片转换成画布,不管怎么说,她的代码是:

代码语言:javascript
复制
$(document).ready(function(){

    $('.pic').each(function(){
        this.onmouseout = function(){
            var canvas1 = Pixastic.process(this, "blurfast", {amount:0.5});
            canvas1.onmouseover = function(){
                Pixastic.revert(this);

            }
        }

        this.onload = function(){
            var canvas = Pixastic.process(this, "blurfast", {amount:0.5});
            canvas.onmouseover = function(){
                Pixastic.revert(this);

            }
        }
    });
});
票数 3
EN

Stack Overflow用户

发布于 2011-08-12 02:46:02

试着这样做

代码语言:javascript
复制
$('.photography').live('mouseenter', function(event){
    Pixastic.revert(this);
}).live('mouseleave', function(event){
    Pixastic.process(this, "blurfast", {amount:0.5});
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7030649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档