Цикл jQuery не работает в IE, Safari или мобильных браузерах. Работает в FF и Chrome

#jquery #internet-explorer #mobile #safari #cycle

#jquery #internet-explorer #Мобильный #safari #цикл

Вопрос:

Я пытался запустить это через средство проверки w3c и, похоже, не могу найти свою ошибку. Я надеюсь, что некоторые дополнительные глаза смогут найти, что я делаю неправильно.

jQuery

 $(function() { 
$('#play').click(function() { $('#slides').cycle('toggle'); return false; });   

$('#slides').cycle({ 
    fx:    'none',
prev:  '#prev',
next:  '#next', 
    speed: '1000', 
    timeout: 2000 
}); 

$('#slides').cycle('pause');

$('.pause').toggle(
  function() {
    $('#pausectrl').attr({src: 'images/pause1.png', class: 'paused'});
  },
  function() {
    $('#pausectrl').attr({src: 'images/play1.png', class: 'playing'});
  }
);

$('.playing').live("mouseover", function() {
  $(this).attr('src','images/play2.png');
});

$('.playing').live("mouseout", function(){
  $(this).attr('src','images/play1.png');
});

$('.paused').live("mouseover", function() {
  $(this).attr('src','images/pause2.png');
});

$('.paused').live("mouseout", function(){
  $(this).attr('src','images/pause1.png');
}); });
  

Вы можете просмотреть страницу здесь Пример слайд-шоу MMA

Ответ №1:

Для Internet Explorer вам нужно добавить кавычки к идентификатору «class».

Измените свой class на "class" , и это должно сработать 😉

Пример: $('#pausectrl').attr({src: 'images/play1.png', class: 'playing'}); становится $('#pausectrl').attr({src: 'images/play1.png', "class": 'playing'});

Комментарии:

1. Спасибо! Это сделало свое дело. Я помню, что где-то читал, что это не было необходимо, когда я учился, как это сделать, но, видимо, это так. Еще раз спасибо.