2011-06-20 106 views
0

嗨我目前正在处理由我的老板给我的脚本,它不适用于除IE以外的所有浏览器。Javascript滑块问题

现在,他是使用CSS属性留给动画,这样他有一个变量,它获得左侧的当前值。例如,让左边等于-100px。现在

一旦它有这个价值它添加到10px的价值,使其从左边移动。现在

我的问题在于parseInt(),并在数的末尾"px"前缀。它不断返回NaN而不是左侧的值。

有谁知道如何解决这个问题?

在此先感谢


UPDATE: 好,我已经重写了代码和it can be viewed here,通过重写我的意思是我已经把我的老板代码和改变的变量名和评论它,使其更容易理解,看看它试图用JavaScript来完成。

现在滑块是为了让他选择了DIV幻灯片从左边进入地方(DIV是-760px offet)在IE中能正常工作,但不是在任何其他浏览器。然而,我已经为其他浏览器提供了修复方法。通过从-760的末尾删除样式表中的px,它会导致DIV出现,但不会如何滑动。

为了便于即时通讯将提供滑块HTML和CSS为他们这里hpefully有点帮助。的

The HTML

The CSS

+0

导致'NaN'的代码究竟是什么? – pimvdb

+0

'w = parseInt(document.getElementById(slideDiv).style.left); \t \t 如果(W <0) \t { \t \t W = W + 10; \t \t的document.getElementById(slideDiv).style.left = W \t \t}' – RobFos

+0

@ robf92:你肯定'.style.left'明确设置?你可能也想使用'.offsetLeft'。 – pimvdb

回答

0

尝试捕捉

try{ 
    w=parseInt(document.getElementById("slideDiv").style.left+"make me string"); 
}catch(e){ 
    w=0; 
    alert(e.toString()); 
} 
+0

我遇到的问题是它没有得到元素的当前位置,因为它返回-760像素,obvisisuly不是一个整数因为“px” – RobFos

+0

对不起,我误解了一下,但parseInt的工作是在字符串内部查找数字,忽略字母字符。 – Tank

+0

尝试这样做,警报回报: 类型错误:的document.getElementById(“slideDiv”)为空 @Tank啊没关系,这是我第一次exerience使用Javascript,我现在的位置是在一家软件开发公司这样一个徒弟啊它对我来说都很困惑:D – RobFos

0

使用parseFloat代替parseInt

+0

试过这个,但我仍然得到NaN,谢谢。 – RobFos

+0

我只是尝试alerting parseFloat(“ - 170px”);在我的控制台,它工作正常。什么是“document.getElementById(slideDiv).style.left”的实际值,因为我不认为这是正确的 – Alex

+0

我的代码位于[这里](http://pastebin.com/NEmgVFQx)谢谢。 – RobFos

0

您可以尝试这样的事:

// should return e.g. "10px": 
var valueAsString = document.getElementById('slideDiv').style.left; 

// remove "px" at the end, so w will only contain "10": 
numericPartOfValue = value.substring(0, value.length - 2); 
var w = parseInt(numericPartOfValue); 

if(w < 0) { 
    w = w+10; 
    // Note: Updated after the comment below: 
    document.getElementById(slideDiv).style.left =w + "px"; 
} 
+0

嗯谢谢你,但使用它打破它在IE浏览器 为什么Javascript必须这么麻烦? D: 我只是要发布整个JavaScript文件。正如我所说,它是由我的老板写的,而不是我。我的Javascript知识目前是相当基本的 [链接到pastebin](http://pastebin.com/NEmgVFQx) 我发现的一件事是,从CSS文件中删除“px”使它工作类(滑块变化但没有“滑入”动画) 我也要感谢所有人的帮助,你们都是伟大的人,我非常感激。谢谢大家:) – RobFos

+0

如果我正确理解你的问题,那么我刚刚做出的修改应该修复它(请参阅代码注释):在完成处理数值后,只需将“px”添加到最后。 – Kjartan

+0

Nope仍然不能工作,我说不工作,IE现在动画大约1/7的方式,然后它停止,所有其他浏览器仍然不工作,谢谢。 – RobFos