Проблема с ползунком Javascript - PullRequest
0 голосов
/ 20 июня 2011

Привет, я сейчас работаю над сценарием, который мне дал мой начальник, и он работает не во всех браузерах, кроме IE.

Теперь он использует свойство CSS, оставленное для его анимации, поэтому у него есть переменнаякоторый получает текущее значение слева.Например, допустим, что left равно -100px.

Теперь, когда оно имеет это значение, оно добавляет 10px к значению, чтобы заставить его двигаться слева.

Теперь моя проблемалежит с parseInt() и префиксом "px" в конце числа.он продолжает возвращать NaN вместо значения left.

Кто-нибудь знает, как решить эту проблему?

Заранее спасибо


ОБНОВЛЕНИЕ: Хорошо, я переписал код и его можно посмотреть здесь , переписав, я имею в виду, что я взял свой код боссов и изменил имена переменных и прокомментировал его, чтобы его было легче понять и увидетьчто он пытается сделать с помощью javascript.

Теперь ползунок предназначен для того, чтобы он выбирал слайд DIV слева и на место (DIV смещен на -760px) в IE, это работает нормально, ноне в любом другом браузере.Однако я придумал исправление для других браузеров.удаляя px в таблице стилей с конца -760, он вызывает появление DIV, но не скользит так, как должен.

Чтобы упростить его, я собираюсь предоставить ползунки html и CSSдля них здесь, чтобы с радостью помочь немного.

HTML

CSS

Ответы [ 3 ]

0 голосов
/ 20 июня 2011

Используйте parseFloat вместо parseInt

0 голосов
/ 20 июня 2011

Вы можете попробовать что-то вроде этого:

// 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 голосов
/ 20 июня 2011

попробуй поймай

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