将宽度设置为附加的子图像 – VANILLA javascript
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了将宽度设置为附加的子图像 – VANILLA javascript,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1956字,纯文字阅读大概需要3分钟。
内容图文
我用jQuery构建了一个图像滑块,并认为在vanilla javascript(这是一个很棒的框架btw;)中做同样的事情是一个很好的练习.很高兴知道尽管我可以使用jQuery构建东西,但我很少了解实际情况.
无论如何,这是我的问题.我试图设置我附加到列表元素的图像的宽度.出于某种原因,我编写的代码不会影响图像的width属性.我更新了CSS作为一个完整性检查,它工作正常,所以它一定是js的问题.
这是代码:
console.log('Yeh, bitch! Programming!');
function slider() {
var settings = {
width: "700px"
}; // end settings object
var sliderImages = document.getElementById('slider-images').querySelectorAll('img'),
prevImg = document.getElementById('prev-img'),
currentImg = document.getElementById('current-img'),
nextImg = document.getElementById('next-img'),
wrapperInner = document.getElementById('img-wrapper-inner'),
imgList = [],
imgAttr;
for (var i = 0; i < sliderImages.length; i++) {
sliderImages[i].style.display = "none";
};
function grabImages() {
var DOM_img;
for (var i = 0; i < sliderImages.length; i++) {
imgSrc = sliderImages[i].getAttribute('src');
DOM_img = document.createElement('img');
DOM_img.src = imgSrc;
imgList.push(DOM_img);
console.log(imgList[i]);
}; // end for
prevImg.appendChild(imgList[imgList.length -1]);
currentImg.appendChild(imgList[0]);
nextImg.appendChild(imgList[1]);
}; // end grabImages
grabImages();
var visibleImages = wrapperInner.querySelectorAll('ul li img');
visibleImages.style = 'width: ' + settings.width;
};// end slider
slider();
如果你需要css和html,请告诉我.我只是想尽量不发布帖子.
解决方法:
querySelectorAll返回NodeList集合,该集合没有样式属性.
如果要更改该集合中每个元素的样式,则必须对其进行迭代.
例如,使用[] .forEach:
[].forEach.call(visibleImages, function(element) {
element.style.width = settings.width;
});
注意为style属性赋值是一种不好的做法.在某些浏览器上,样式是作为具有getter但没有setter的访问器属性实现的,因此在非严格模式下将忽略对它的赋值或抛出严格模式.在其他浏览器上,它将替换所有内联样式.相反,更好地分配style.width.或者,如果您真的想要摆脱以前的内联样式,请使用style.cssText.
内容总结
以上是互联网集市为您收集整理的将宽度设置为附加的子图像 – VANILLA javascript全部内容,希望文章能够帮你解决将宽度设置为附加的子图像 – VANILLA javascript所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。