上传图片预览功能的IE浏览器兼容性问题的实现:JS+JQuery+CSS完整版

上传图片预览功能的实现:JS+JQuery+CSS完整版


温馨提示:项目中如果需要上传图片,强烈建议通过后台程序(比如java)对图片进行相关控制和操作!!!


前言:上传图片,最令人头痛的,不是功能的实现,而是IE浏览器的兼容性问题。IE浏览器是每一个前段开发人员的痛。好了,废话不多说,上代码,可以兼容IE8/IE10/谷歌浏览器,目前已经测试的是这2个浏览器。如果大家发现问题,可以及时反馈,留言给我。





图片预览小功能




    


另外分享一些如何获取图片宽度的代码:

		    function testwidth(){
		   	    $("img[class~='mimg']").each(function(){
		   	        var img = new Image();
		   	        img.src = $(this).attr("src");
		   	        if(img.width != 0){
		   	            $(this).next().text("图片的宽度为:" + img.width);
		   	        }
		   	    });
		   	}

在动态获取图片宽度时,可以使用new Image()的方式。比如Ajax异步加载后显示的图片,或者通过JS显示到div中的图片。用这个方法能够更准确的获得图片的宽度。


关于JQuery中如何判断对象是否存在的问题:

	//定义一个变量
	var image_width = "";
	//new一个image对象
	var newimg = new Image();
	//如果id = img_1 的对象存在
	if($("#img_1").length>0){
		newimg.src = $("#img_1").attr("src");
	}
	//如果id = mobileimg 的对象不存在
	else{
		newimg.src = $("#img_2").attr("src");
	}
	//获取宽度
	image_width = newimg.width;


	/**
	 * 如何使用jquery判断对象是否存在
	 */
	if($("#img_1").length>0){
		alert("对象存在");
	}
	else{
		alert("对象不存在");
	}


推荐采用上面的方法,因为通过 $("#img_1")获取对象时,即使对象不存在,jquery也会返回一个object。



你可能感兴趣的:(web前端)