javascript获取、设置修改img的src属性(get/setAttribute)

本文介绍了一种在网站开发中使用的滚屏加载图片技术,该技术通过动态更改img元素的src属性来实现图片的按需加载,从而减少服务器负担并节省流量。文章详细解释了如何使用JavaScript的getAttribute和setAttribute方法来获取和修改图片源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关注公众号:”奇叔码技术“

回复:“java面试题大全”或者“java面试题”
即可免费领取资料





 在开发网站过程中,事先就设置好了图片img的src性,一般来说很少修改这个属性,网站加载时直接显示事先设置好的图片。但如果网页要求实现滚屏加载图片(动态加载图片),也就是一次不显示网页内的所有图片,当滚动屏幕时再显示进入屏幕区的图片。这样不但可以减少对服务器的请求次数,而且能大大节省服务器的流量。

滚屏加载图片事先把网页内要动态显示图片的所有src属性设置为一张小图,待要显示目标图片时再把src属性设置为目标图片的路径。这样就能实现用户看一张图片显示一张,对于图片特别多的网页能大大节省流量。

一、javascript获取img的src属性(getAttribute)
  在设置修改img的src属性过程中,少不了要获取图片的路径,也就是要获取img的src属性。获取方法有两种,其一,使用getAttribute方法;其二,直接用图片对象的src。两种方法举例如下:

示例使用图片对象:

js使用getAttribute方法获取img的src属性

方法一:使用getAttribute方法获取img的src属性

var obj = document.getElementById(“imgid”);
  var imgSrc = obj.getAttribute(“src”);
  var realSrc = obj.getAttribute(“tSrc”);

用getAttribute()方法不但可以获取到img的src属性,还能获取到不是img固有的tSrc属性。这个方法获取能力强一些,但版本低的老浏览器(如ie6)不支持。

方法二:直接获取img的src属性

var obj = document.getElementById(“imgid”);
  var imgSrc = obj.src;//能获取到
  var realSrc = obj.tSrc;//提示undefined,即tSrc属性没有定义,不能获取到

二、javascript设置修改img的src属性(setAttribute)
  js设置修改img的src属性也像获取一样有两种方法;其一,用setAttribute方法;其二,根据图片对象直接获取src属性。两种方法分别举例如下:

示例使用图片对象:

js使用setAttribute方法设置修改img的src属性

方法一:使用setAttribute方法修改img的src属性

var obj = document.setElementById(“imgid”);
  var imgSrc = obj.setAttribute(“src”, tSrc);//把图片修改为目标路径
  var realSrc = obj.setAttribute(“tSrc”, src);//把图片的路径暂存到tSrc

使用 setAttribute 方法,无论是修改src属性还是设置tSrc属性都有效,不过旧版本的浏览器(如ie6)不支持,ie8以上浏览器才支持。

方法二:直接设置img的src属性

var obj = document.getElementById(“imgid”);
  obj.src = imgSrc;//能设置
  obj.tSrc = realSrc;//提示undefined,即tSrc属性没有定义,设置失败

//点击切换图片 案例一 start
	var ImgOne = document.getElementById("ImgOne");
	var flag = true;
	ImgOne.onclick = function(){
		if(flag){
			 
            ImgOne.src = "images/myself_image1.jpg";
			flag = false;
		}
		else{
			ImgOne.src = "images/潮流动图4.jpg";
			flag = true;
		}
	}
	
	
	//点击切换图片 案例一 over
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值