无法通过JavaScript更改页面样式
Unable to change page style via JavaScript
本文关键字:样式 JavaScript 更新时间:2024-06-05
我在从脚本中获取值时遇到问题,请更改我的网站。我试图实现的是,允许用户向左或向右滚动我页面上的一些元素。请记住,我不太擅长JavaScript,所以以下是我迄今为止所掌握的内容。
window.onload = makeActive;
function makeActive() {
var showCase = document.getElementById("showcase");
var slides = showCase.getElementsByTagName("div");
var mouseDown = false;
if(window.addEventListener) {
showCase.addEventListener('mousedown',startDrag,false);
document.body.addEventListener('mousemove',drag,false);
document.body.addEventListener('mouseup',stopDrag,false);
}
else if(window.attachEvent) {
showCase.attachEvent('onmousedown',startDrag);
document.body.attachEvent('onmousemove',drag);
document.body.attachEvent('onmouseup',stopDrag);
}
function startDrag(e) {
mouseDown = true;
}
function drag(e) {
if(mouseDown == true) {
for(var i=0; i < slides.length; i += 1) {
slides[i].style.left -= e.clientX + "px";
}
}
}
function stopDrag(e) {
mouseDown = false;
}
}
因此,基本上,它的作用是选择showCase元素中的所有div元素。它继续检查我的鼠标是否悬停在它上面,如果我悬停在上面,它将检查鼠标是否向下,如果鼠标按钮向下,它将检测鼠标是否向左或向右移动。这一切都很好,但当我试图循环浏览幻灯片时,当我试图对幻灯片进行任何形式的等式时,就会出现解析错误。我想这是因为当我试图引用幻灯片[I].style.left时,它是一个字符串。我试着把它解析成数字形式去掉它的字符,但这似乎不起作用。我也尝试过使用"leftoffset"来获取值,但无论我做什么,它都会给我一个错误,即"style.left未定义"、"NaN"或"解析错误:声明已删除"。有更简单的方法吗?
我相信是这一行:
slides[i].style.left -= e.clientX + "px";
如果slides[i].style.left
的值与10px
类似,则不能减去整数值。你需要先删除"px":
var leftPos = 0;
if(slides[i].style.left) {
leftPos = slides[i].style.left.toString().replace(/(px)/i, "");
}
slides[i].style.left = (leftPos - e.clientX) + "px";
相关文章:
- 跟踪在页面加载时应用内联样式的JavaScript
- 如果文本字段为空,则使用JavaScript应用CSS样式
- W3C循环样式的JavaScript
- jQuery/JavaScript在线公文包表单-打印样式表
- javascript问题正文样式
- 如何提供在javascript中编写对对象的重复访问以设置元素样式的简写
- 如何在小部件中添加外部javascript库和样式表
- 使用javascript单击同一按钮,在两种样式之间更改css值
- 如何确定相对较新版本的IE的高度和宽度(IE8不喜欢从JavaScript设置这种样式吗?
- 使用XPath样式访问Javascript JSON对象属性
- Visual Studio 2012:更改javascript注释样式
- 我应该用K&编写javascript时的R样式
- Javascript+动态菜单+当前链接样式(CSS)+基于PHP的网站
- 如何使用外部Javascript库(如jQuery)重命名Google闭包样式表
- 显示隐藏样式 JavaScript 选项卡菜单
- 列出所有可用的CSS样式javascript
- 当向下滚动时改变样式(javascript)
- 样式Javascript下拉菜单
- 选中所有带有样式javascript类的复选框'工作
- 防止在调整大小后改变响应式网页样式(JavaScript)