0

嗨,我目前正在编写老板给我的脚本,但它不适用于除 IE 之外的所有浏览器。

现在他正在使用 CSS 属性 left 对其进行动画处理,因此他有一个变量来获取 left 的当前值。例如,让我们说 left 等于-100px

现在一旦它有了这个值,它就会添加10px到这个值上,使它从左边移动。

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

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

提前致谢


更新: 好的,我已经重写了代码,可以在这里查看,重写我的意思是我已经接受了我老板的代码并更改了变量名并对其进行了评论,以便更容易理解并查看它试图通过javascript。

现在滑块的目的是让他在 IE 中选择 DIV 从左侧滑入到位(DIV 偏移 -760px)这工作正常,但在任何其他浏览器中都没有。然而,我已经为其他浏览器想出了一个修复方法。通过px从 -760 末尾删除样式表中的 ,它会导致 DIV 出现,但它不会按应有的方式滑动。

为了更容易,我将在这里为他们提供滑块 html 和 CSS,以提供一点帮助。

的HTML

CSS

4

3 回答 3

0

试着抓

try{
  w=parseInt(document.getElementById("slideDiv").style.left+"make me string");
}catch(e){
  w=0;
  alert(e.toString());
}
于 2011-06-20T13:20:12.773 回答
0

使用parseFloat代替parseInt

于 2011-06-20T13:29:41.820 回答
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";
}
于 2011-06-20T13:45:51.817 回答