JS预览上传图片发现的问题

  前段时间做一个行业站点,其中商铺有一块功能是商铺设置功能,要求是进行版式,企业名称,企业头部LOGO,企业头部背景进行自定义设置。

  先看看效果图吧:

  

  机会难得,有点技术亮点,就一下子投入到功能开发中去了。在这一块的功能开发中,自己还是学到些不错的东西,其中一点就是,用户选择上传的图片,如何预览出来呢。网上找了些资料,最终采用如下方法:

 function (obj) { //logo上传添加事件
        var logoimg = null;
        if (document.all) {//如果是IE情况下
            obj.select();
            logoimg = document.selection.createRange().text;
	    //由于是采用滤镜的方式,所以要把图片设置为不可见,在图片外层的DIV上面设置滤镜效果
            $(".setup_logo_left img").removeAttr("src");
            $(".setup_logo_left img").css("display", "none");
            var img = document.getElementById("preview_fake");
            img.filters.item(
            'DXImageTransform.Microsoft.AlphaImageLoader').src = logoimg;
            return;
        }
        logoimg = obj.files[0].getAsDataURL();
        $(".setup_logo_left img").attr("src", logoimg);
    }
<style type="text/css">
        #preview_fake
        {
            /* 该对象用户在IE下显示预览图片   这一段样式不能少 */
            filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
            width: 80px;
            height: 80px;
        }
</style>
<div id="preview_fake">
<img height="80" width="80" src="1.gif">
</div>

效果很不错,在IE6,IE7,IE8,FOX,哦还有一个特让人纠结的360都正常显示

posted on 2010-11-24 16:26  朱锋  阅读(459)  评论(0编辑  收藏  举报

导航