jQuery не изменяет класс или CSS в Internet Explorer
У меня есть слайд-шоу с изображением, на котором есть небольшой DIV для копирования рекламы. Каждый раз, когда слайд меняется, рекламный блок исчезает, и появляется новый, в другом положении.
Это отлично работает в любом браузере, кроме IE. Все мои анимации jQuery работают нормально, но по какой-то причине коробка не меняет свое положение. Оба.css (), чтобы изменить мои верхние / левые значения и фактически изменить класс с помощью .attr () терпит неудачу в IE.
Вот JS, чтобы изменить класс, и показать коробку. Первая строка просто получает позицию из имени файла (изображение-6.формат JPG).
var heroPosition = vars.currentImage.attr('src').substr(-5, 1);
switch(heroPosition) {
case "1":
$('#hero-ad').attr('class','hero-position-1');
break;
case "2":
$('#hero-ad').attr('class','hero-position-2');
break;
case "3":
$('#hero-ad').attr('class','hero-position-3');
break;
case "4":
$('#hero-ad').attr('class','hero-position-4');
break;
case "5":
$('#hero-ad').attr('class','hero-position-5');
break;
case "6":
$('#hero-ad').attr('class','hero-position-6');
break;
}
$('#hero-ad').show("fold", {}, 1000);
Сам код был вроде как взломан в слайдере изображений Nivo.
Живой сайт здесь http://www.sugarloaf.com/slredesignlocal/index.html
Большинство JS в JS / плагинах.JS. CSS для позиций находится в css / style.css
EDIT я должен упомянуть ,что я пытался использовать.addClass() и .removeClass () и этот метод также не удался.
3 ответа:
Я предполагаю, что у вас есть эта проблема конкретно в IE, потому что вы используете
substr()
с отрицательным числом. Проверьте этот пост . Вместо этого следует использоватьslice()
, чтобы получить ожидаемое значение.