首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JS获取图片原始

最近在给博客的相册模块做优化,需要知道图片的原始大小,我以前的做法是把图片的真实高分别放在data-width和data-height中,效果是达到了,但是总觉得扩展性很低,当不知道图片的大小时,还要一张一张图片的去查看图片信息手动输入图片大小...,很繁琐 获取图片大小: 1.使用innerWidth,innerHeight 使用HTMLImageElement.innerWidth 是可以拿到图片的宽度 但是需要注意的是这里拿到的宽度是图像在CSS...像素中渲染的宽度 也就是说如果图片原始大小1200,使用css或者width属性设置为600,那么这里拿到的宽度为600,显然用innerWidth获取图片原始尺寸是不靠谱的 2.使用document.createElement...document.createElement("img") img.src = "1.jpg" var width = img.width 动态创建一个imgElement,通过给src赋值,最终来获取img的宽和..."1.jpg" 3.使用naturalWidth(推荐) 使用HTMLImageElement.naturalWidth拿到图像在CSS像素中固有的宽度,如果可用的话; 否则, 返回0 这样就可以拿到图片的原始大小

6.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    js图片监听onload事件,依然有获取不到的场景

    背景 在实际开发中,移动端页面遇到的,采用正常写法,图片 src赋值写在 onload 事件监听 后面,依然会有拿不到 图片真实的场景,获得的图片都为0,真的是好坑啊。...var img = new Image() // 加载完成执行 img.onload = function(){ console.log(img.width,img.height) } // 改变图片的...为了避免图片加载失败或不存在等长场景导致定时器一直执行,可以加一个兜底,比如10秒钟之后自动清除定时器。...var img = new Image() // 改变图片的src img.src = img_url // 定时执行获取 var check = function(){ // 只要任何一方大于...0 // 表示已经服务器已经返回 if (img.width>0 || img.height>0) { clearInterval(set); } } var

    4K20

    js获取各种距离和

    以当前的元素的左上角为原点, 距离元素顶部的距离 offsetY 以当前的元素的左上角为原点, 距离元素左侧的距离 clientX 以浏览器窗口(视口)的左上角为原点, 距离视口顶部距离, 不随页面滚动而改变...clientY 以浏览器窗口(视口)的左上角为原点, 距离视口左侧距离, 不随页面滚动而改变 pageX 以整个页面的左上角为原点, 距离页面顶部的距离, 随页面滚动而改变 pageY 以整个页面的左上角为原点..., 距离页面左侧的距离, 随页面滚动而改变 screenX 以计算机显示屏屏幕左上角为原点, 距离屏幕顶部的距离 screenY 以计算机显示屏屏幕左上角为原点, 距离屏幕左侧的距离 元素的及各种距离... 属性 说明 clientHeight/clientWidth 包括元素的可视部分的高度/宽度包括width/height和padding不包括border和滚动条如果是content-box,则为

    23110

    javascript 快速获取图片实际大小的

    javascript 快速获取图片实际大小的 简陋的获取图片实际的方式 // 图片地址 var img_url = '13643608813441.jpg' // 创建对象 var img =...都是0的这个结果很正常,因为图片的相关数据都没有被加载前它的默认就是0,我们需要它加载完所有的相关数据再获取宽和。...onload加载所有的相关数据后,取 // 图片地址 var img_url = '13643608813441.jpg' // 创建对象 var img = new Image() // 改变图片的...从缓存里读取图片不用说,非常方便快捷,今天我们要解决的是没有缓存而又快速的相比onload更快的方式去获取图片。...+start_time // 创建对象 var img = new Image() // 改变图片的src img.src = img_url // 定时执行获取 var check = function

    5.5K10

    js获取屏幕以及元素的方法

    一.window相关 网页正文部分上:window.screenTop 网页正文部分左:window.screenLeft 屏幕分辨率的:window.screen.height 屏幕分辨率的:...document.body.clientWidth 网页可见区域:document.body.clientHeight 网页可见区域:document.body.offsetWidth (包括边线的...) 网页可见区域:document.body.offsetHeight (包括边线的) 网页正文全文:document.body.scrollWidth 网页正文全文:document.body.scrollHeight...网页被卷去的:document.body.scrollTop 网页被卷去的左:document.body.scrollLeft 三.滚动相关 scrollHeight: 获取对象的滚动高度。...height是指可见内容的 clientWidth = width + padding clientHeight = height + padding offsetWidth = width + padding

    6.8K20

    图片不变形,不超出父元素的情况下旋转图片

    做这样的效果的难点在于,计算没旋转前图片和旋转后的。 下面来看具体的实现。 实现步骤 让图片在父元素中水平居中,垂直居中显示。我用的是 flex。...我们知道图片在旋转 (2n * 90)度在父元素的是一样的,((2n + 1) * 90) 度在父元素的是一样的。...所以我们只需要两组图片的宽和高要满足 不超出父元素 图片不能变形 在上面的条件下,图片只有有限的值可以选。...在 旋转 (2n * 90) 度的情况下 图片为父元素的,高度自适应 图片为父元素的,宽度自适应 在 旋转((2n + 1) * 90) 度的情况下 图片为父元素的,高度自适应 图片为父元素的...旋转后,需要从新设置图片

    2.1K30
    领券