jquery 本地图片浏览(支持ie7,8)
// 本地图片浏览,此插件依赖 JCrop 切图插件 jQuery.fn.extend({ avatarPreview: function (opts) { var _self = this, _this = $(this), _jcrop; opts = jQuery.extend({ imgId: "avatarImg", squareSide: 500, imgType: ["gif", "jpeg", "jpg", "png"], callback: function () { return; } }, opts || {}); _self.isIE = function () { var _ua = navigator.userAgent.toLowerCase(); // ie6mode = /msie [1-6]\./.test(_ua); return /msie/.test(_ua); }; _self.getFileURL = function (fileObj) { var url; if (_self.isIE()) { _self.select(); _self.blur(); url = document.selection.createRange().text; document.selection.empty(); } else if (window.createObjectURL != undefined) { url = window.createObjectURL(fileObj.files[0]) } else if (window.URL != undefined) { url = window.URL.createObjectURL(fileObj.files[0]) } else if (window.webkitURL != undefined) { url = window.webkitURL.createObjectURL(fileObj.files[0]) } return url }; _self.uploadJcrop = function (imgObj) { imgObj.Jcrop({ aspectRatio: 1, setSelect: [0, 0, 280, 280], minSize: [100, 100], onSelect: this.onChange, onChange: function (coords) { $('#user_crop_x').val(coords.x); $('#user_crop_y').val(coords.y); $('#user_crop_w').val(coords.w); $('#user_crop_h').val(coords.h); } }, function () { return _jcrop = this }); }; _self.removeOldJcrop = function () { if (_jcrop) { _jcrop.destroy(); } }; _this.getStyle = function (obj) { if (obj == undefined) return 'height:' + opts.squareSide + 'px;width:' + opts.squareSide + 'px;' if (obj.height > obj.width) { var imgStyle = 'height:' + opts.squareSide + 'px;width:auto'; } else { var imgStyle = 'width:' + opts.squareSide + 'px;height:auto' } return imgStyle }; _this.getStyleForIE = function (imgTag, imageUrl) { var testDiv = document.createElement("div"); imgTag.after(testDiv).hide(); testDiv.style.width = "10px"; testDiv.style.height = "10px"; testDiv.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);'; testDiv.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imageUrl; var imgStyle, scaling, height = parseFloat(testDiv.offsetHeight), width = parseFloat(testDiv.offsetWidth); if (height > 0 && width > 0) { if (width >= height) { imgStyle = 'width:500px; height:' + 500 * height / width + 'px'; } else { imgStyle = 'height:500px; width:' + 500 * width / height + 'px'; } } $(testDiv).remove(); return imgStyle; }; _this.change(function () { if (this.value) { if (!RegExp("\.(" + opts.imgType.join("|") + ")$", "i").test(this.value.toLowerCase())) { alert("请选择" + opts.imgType.join("、") + '类型的图片。'); this.value = ""; return false } _self.removeOldJcrop(); var imgTag = $("#" + opts.imgId); if (imgTag.length > 0) { var imageUrl = _self.getFileURL(this); if (_self.isIE()) { var _div = $('<div id="ieImg"></div>'); _div.attr('style', _this.getStyleForIE(imgTag, imageUrl)).css({"filter": "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src='" + imageUrl + "')"}); imgTag.attr('src', '').hide().after(_div); _self.uploadJcrop(_div); } else { $("<img/>").attr("src", imageUrl).load(function () { imgTag.attr('src', imageUrl).attr('style', _this.getStyle(this)); _self.uploadJcrop(imgTag); }); } opts.callback(); } } }) } }); ## IE9 function PreviewImg(imgFile){ var oldPreview = document.getElementById( "oldPreview" ); oldPreview.innerHTML = "<img src=\"file:\\\\" + imgFile.value + "\" /> "; }
相关推荐
这个基础的图片浏览功能可以进一步扩展,比如添加自动播放、指示器、键盘导航等功能,以满足不同项目的需求。通过学习和理解这个例子,你可以更好地掌握jQuery在动态网页中的应用,并为自己的项目增添更多交互性。
**基于jQuery的图片浏览插件** 在Web开发中,图片展示是常见的需求,尤其是在电子商务、社交媒体和内容分享网站上。为了提升用户体验,开发者通常会使用专门的图片浏览插件来实现这一功能。本文将深入探讨“基于...
在这个背景下,"jQuery H5移动端图片预览插件"应运而生,它旨在解决移动端图片预览的问题,为用户提供流畅、高效且自适应的图片浏览体验。 这款插件主要针对手机和平板等移动设备设计,它能够无缝地集成到你的H5...
"jQuery 浏览图片,背景变暗"就是这样一个实现方式,它利用jQuery库来动态控制页面元素,使得在点击图片预览时,背景自动变暗。 jQuery是一个强大的JavaScript库,它简化了HTML文档遍历、事件处理、动画和Ajax交互...
1. 引入jQuery库:在HTML文件中,你需要引入jQuery库,通常通过CDN链接或本地文件引用。 2. 引入插件:将压缩包中的插件文件(可能是.js格式)引入到HTML页面中。 3. 初始化插件:在JavaScript中,通过调用jQuery...
本教程将深入讲解如何使用jQuery来实现一个基本的slide(幻灯片)图片浏览功能,这对于网站设计和用户体验提升非常重要。下面我们将详细探讨这个主题。 首先,让我们了解幻灯片的基本原理。幻灯片效果通常是通过...
【腾讯jQuery图片浏览相册展示代码】是一种基于JavaScript库jQuery实现的高效、用户友好的图片展示解决方案。腾讯作为中国互联网巨头,在前端开发方面积累了丰富的经验,其提供的此代码旨在为网站提供美观且易于操作...
在这个实例中,我们重点关注的是如何在KindEditor中实现本地图片上传以及浏览服务器上的文件。 1. **本地图片上传** 本地图片上传是KindEditor的一个重要特性,它允许用户直接从他们的计算机上选择图片并上传到...
在移动设备上,为了优化...总结,通过上述步骤和方法,我们可以使用jQuery在手机移动端实现图片的横向滚动效果,为用户提供流畅、直观的浏览体验。实践中,可能还需要根据具体需求进行调整和优化,以满足项目的要求。
"基于JQuery的图片放大切换特效"是一种常见的交互设计手法,能够提升网站的视觉吸引力并优化用户的浏览体验。这种特效广泛应用于相册、产品展示等场景,使得用户在点击小图时能以更直观的方式查看大图,同时保持页面...
总的来说,jQuery图片左右滑动是一个基础且实用的功能,它结合了前端框架的便利性和触控事件的互动性,为用户提供了直观且有趣的浏览体验。开发者可以通过调整代码和样式,轻松地将这个功能融入到各种网页设计中。
这种效果利用了JavaScript库jQuery的强大功能,为用户提供了一个平滑、交互式的浏览体验。在本篇文章中,我们将深入探讨如何使用jQuery实现图片幻灯片展示,并涉及其自动播放和鼠标悬停切换图片的功能。 首先,我们...
图片相册是Web开发中常见的功能,尤其在博客、社交媒体和个人网站中非常常见,它能优雅地展示一组图片,使用户易于浏览。 压缩包内的文件“说明.htm”可能包含了项目的详细说明,如如何使用、效果演示、代码解释等...
Camera插件是针对HTML5和jQuery Mobile设计的,它充分利用了HTML5的新特性,如Canvas和Audio元素,以及jQuery Mobile的触摸事件和UI设计,为用户带来流畅且美观的图片浏览体验。这个插件不仅适用于手机,也能在桌面...
- **img**:这个文件夹可能包含了用于演示的图片资源,开发者可以替换为自己的图片链接或者本地图片路径。 - **js**:这里存放了插件的主要JavaScript代码,包含了预览、手势识别等功能的实现逻辑。 在实际应用中,...
在实现图片全屏效果时,jQuery的便捷性和灵活性使其成为首选工具。 首先,我们需要在页面中引入jQuery库。这可以通过CDN(内容分发网络)链接或者本地文件引用来完成。例如,可以使用Google的CDN服务: ```html ...
标题中的“浏览图片后本地浏览删除图片功能”指的是在用户选择一张或多张图片...在开发时,需要考虑用户体验、性能优化,以及安全性等因素,确保用户能够顺畅地浏览、删除本地图片,并安全地将选中的图片上传到服务器。
QQ空间照片初始化时以缩略图形式显示,点击后进入如图所示的浏览模式,查看大图片,像在本地电脑上查看图片那样。 关于调用的说明:传入自定义的html相册支持左右方向键,支持Esc关闭。另外还可以通过异步返回json...
**jQuery图片展示插件ColorBox详解** 在网页设计和开发中,图片展示是不可或缺的一部分,尤其是在展示产品细节、用户评论或者艺术作品时。jQuery作为一款强大的JavaScript库,提供了丰富的插件来实现各种复杂的图片...
总的来说,"jquery.parallaxmouse"插件为开发者提供了一种快速、便捷的方式来实现多层图片的视觉差互动效果,不仅提升了网站的美观度,也为用户带来了更具沉浸感的浏览体验。通过熟练掌握和运用这个插件,设计师和...