Cufon, cufontext ломается на клоне jQuery IE7 - PullRequest
2 голосов
/ 11 октября 2011

У меня есть 5 элементов в слайдере jQuery, затем элементы слайдера клонируются один раз, поэтому для кругового непрерывного слайда достаточно элементов.

Вот код, который я использую для клонирования своих элементов:

$mo.prepend($mo.children().clone().removeClass('active'));

В первом случае Cufon прекрасно работает, но после его клонирования кажется, что он нарушает компоновку, добавляя интервал и сохраняя cufontext позади элемента.

Вот изображение, чтобы лучше описать проблему:

enter image description here

Я попробовал следующее, чтобы попытаться сослаться и восстановить текст cufon;

    $mo.prepend($mo.children().clone().removeClass('active').show(function(){
        Cufon.refresh();
    }));

Я также пытался переопределить cufon с помощью Cufon.replace(), у кого-нибудь была эта проблема раньше, и если да, то как вы ее исправили?

Я заметил, что атрибуты CSS, которые находятся в первом экземпляре cufontext, теряются в пути при завершении клонирования.

Обратите внимание, что эти проблемы только в IE7 (и, вероятно, ниже)

Я повторил проблему, в JSBIN он делает именно то, что происходит на моем сайте,

http://jsbin.com/awupuw/

Ответы [ 2 ]

0 голосов
/ 11 октября 2011

Так что я понял, как это сделать, я понял, что jQuery также копирует элементы cufon из HTML, поэтому при восстановлении или обновлении cufon.register он попытается применить его к cufonуже зарегистрирован.

Чтобы решить эту проблему, я просто очистил объекты перед вызовом .clone().

Вы, вероятно, очистите свой объект от меня, но эй, это работаеткод, который я использовал.

$('#clone').click(function(){
  var _object = $('h1:eq(0)').clone();
  var _text = _object.text();
  _object.find('cufon').remove();
  _object.text(_text);

  $('body').append(_object).show(function(){
    Cufon.refresh();
  });

});

http://jsbin.com/awupuw/9 -> Рабочий пример

0 голосов
/ 11 октября 2011

Чтобы заставить IE7 работать при перемещении элементов, мне пришлось поменять порядок вещей и использовать prependTo вместо prepend.Возможно, стоит попробовать здесь.

...