求助JS修改,获取标签里的值
比如说:<divid="imglist"><ul><li><imgid="img_1"data-thumb="略缩图1"src="大图1"</li><li><imgid=...
比如说:
<div id="imglist">
<ul>
<li><img id="img_1" data-thumb="略缩图1" src="大图1"</li>
<li><img id="img_2" data-thumb="略缩图2" src="大图2"</li>
<li><img id="img_3" data-thumb="略缩图3" src="大图3"</li>
<li><img id="img_4" data-thumb="略缩图4" src="大图4"</li>
......
</ul>
</div>
有段JS是这样的
return this.each(function() {
var $this = $(this),
$imgs = $(this).find("img"),
imgLen = 0,
selectText = "",
ImgIdx = 0,
arrPath = [],
arrTitle = [];
for(var x = 0; x < $imgs.length; x++){
var $thisImg = $imgs.eq(x)
imgurl = $thisImg.attr("src").split('.');
$thisImgs = imgurl.join('_s.');
var _src = $thisImg.attr("src");
$thisImg.attr({"src":"","data-src":_src});
if(x<tt){$thisImg.attr("src",_src);}
imgsrclist['img_'+x] = _src
if((x+1) == options.Default ){
selectText = $thisImg.attr("title");
ImgIdx = x;
imgShow(ImgIdx);
};
arrTitle.push($thisImg.attr("title"))
arrPath.push("<dd><div></div><img src="+ $thisImgs +" height=" + options.height + " width=" + options.width+ " /></dd>");
imgLen = x + 1;
};
这里JS原本是,获取了src的值后,加_s后缀,作为略缩图,大图延迟加载,只有点到略缩图才会加载大图。
但是目前有个变动,就是略缩图,不再是以_s命名了,可能是其它的名字,为了便于获取,我把略缩图,加到img标签里,即data-thumb= "....."
我现在想把JS里,原本加_s的,去掉,改成读取 data-thumb 的值,延迟加载效果不变。
能实现吗? 展开
<div id="imglist">
<ul>
<li><img id="img_1" data-thumb="略缩图1" src="大图1"</li>
<li><img id="img_2" data-thumb="略缩图2" src="大图2"</li>
<li><img id="img_3" data-thumb="略缩图3" src="大图3"</li>
<li><img id="img_4" data-thumb="略缩图4" src="大图4"</li>
......
</ul>
</div>
有段JS是这样的
return this.each(function() {
var $this = $(this),
$imgs = $(this).find("img"),
imgLen = 0,
selectText = "",
ImgIdx = 0,
arrPath = [],
arrTitle = [];
for(var x = 0; x < $imgs.length; x++){
var $thisImg = $imgs.eq(x)
imgurl = $thisImg.attr("src").split('.');
$thisImgs = imgurl.join('_s.');
var _src = $thisImg.attr("src");
$thisImg.attr({"src":"","data-src":_src});
if(x<tt){$thisImg.attr("src",_src);}
imgsrclist['img_'+x] = _src
if((x+1) == options.Default ){
selectText = $thisImg.attr("title");
ImgIdx = x;
imgShow(ImgIdx);
};
arrTitle.push($thisImg.attr("title"))
arrPath.push("<dd><div></div><img src="+ $thisImgs +" height=" + options.height + " width=" + options.width+ " /></dd>");
imgLen = x + 1;
};
这里JS原本是,获取了src的值后,加_s后缀,作为略缩图,大图延迟加载,只有点到略缩图才会加载大图。
但是目前有个变动,就是略缩图,不再是以_s命名了,可能是其它的名字,为了便于获取,我把略缩图,加到img标签里,即data-thumb= "....."
我现在想把JS里,原本加_s的,去掉,改成读取 data-thumb 的值,延迟加载效果不变。
能实现吗? 展开
展开全部
你好!
根据你贴的内容来分析,上面只有一处有涉及到'_s'的地方,
之前处理的逻辑是先取出src,然后对src进行文件名+'_s'(a.jpg->a_s.jpg)的操作后返回,
既然现在要放在data-thumb属性当中获取,那么可以做下面的修改:
imgurl = $thisImg.attr("src").split('.');
$thisImgs = imgurl.join('_s.');
替换为
$thisImgs = $thisImg.attr("data-thumb");
希望对你有帮助!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询