纯JavaScript中的Onclick滑块 - 事件不会改变CSS值
Onclick slider in pure JavaScript - event doesn't changes CSS value
我试图用纯JavaScript制作某种滑块(我不能使用jQuery或其他框架,因为它是eBay的)。
我有这样的功能:
var slider_moves = 0;
var imagecount = document.querySelectorAll(".slides_gsc > img").length;
var slide = document.getElementsByClassName('slider_img_width').offsetWidth;
function slideLeft(){
if(slider_moves < imagecount -1){
document.getElementsByClassName("slides_gsc").style.right +=slide; //for me this is not working
slider_moves++;
}
};
为什么它不起作用?我不能使用 += 或变量来更改 CSS 值?
有几个问题。正如在其他答案中指出的那样,document.getElementsByClassName()
函数将返回一个节点列表,您需要遍历该列表。此外,right
属性通常包含一个单位(除非其值类似于 inherit
或 auto
)。假设您正在使用像素(因为您将像素值分配给slide
),您可以执行以下操作:
var slide = document.getElementsByClassName('slider_img_width')[0].offsetWidth;
然后
var elements = document.getElementsByClassName("slides_gsc");
for(var i=0;i<elements.length;i++){
slider_moves++;
elements[i].style.right = (slide*slider_moves)+"px";
}
getElementsByClassName("slides_gsc")
将返回一个您必须循环访问的数组,如果您确定该类使用只有 1 个 elem
getElementsByClassName("slides_gsc")[0]
或在元素上使用 Id。如果有超过 1 个元素使用
var elems=document.getElementsByClassName("slides_gsc");
for(var i=0;i<elems.length;i++){
elems[i].style.right+=slide;
slider_moves++;
}
根据 icke 的回答,我做了这样的代码,它正在工作:
var slider_moves = 0;
var imagecount = document.querySelectorAll(".slides_gsc img").length;
var slide = document.getElementsByClassName('slider_img_gsc')[0].offsetWidth;
function slideLeft(){
if(slider_moves < imagecount -1){
slider_moves++;
document.getElementsByClassName("slides_gsc")[0].style.right = (slide*slider_moves)+"px";
}
};
当然,它被称为:
<div class="right_navigation_gsc navigation_gsc" onclick = "slideRight()"></div>
非常感谢大家;)
相关文章:
- 纯JavaScript中的Onclick滑块 - 事件不会改变CSS值
- JavaScript 如果不是改变 CSS 的青春期
- JavaScript:任何改变CSS伪:before和:after的机会或替代方案
- 数孩子+改变CSS
- 改变.CSS() 当 .滑动切换()
- 我如何使用requestAnimationFrame动画通过改变css类
- AngularJS改变css属性值
- Angular2动态改变CSS属性
- 如何使用鼠标悬停改变css形状(圆圈)的边框颜色
- 用javascript改变css样式
- 改变CSS的HTML在计算机计时
- 如何通过javascript改变css伪元素
- Angular 2 -在点击时改变css选择器
- 如何用javascript改变css属性
- 如何通过脚本改变CSS双类属性
- 如何检查一个元素是否存在,并改变css属性
- 用javascript改变CSS样式
- 麻烦用javascript改变css
- 改变CSS的动态按钮点击
- Jquery改变css和表单数据