2011-08-24 3 views
2

У меня есть немного проблемы здесь: я следующие JS функции:JQuery removeClass проблема

function setRounded(divId){ 
    $(divId).addClass("rounded-corners"); 
} 
function unsetRounded(divId){ 
    $(divId).removeClass("rounded-corners"); 
} 

Эти две функции вызываются до и после события: например, у меня есть следующая страница: Testing page и я хочу удалить закругленные углы, когда я переворачиваю блок, но этого не происходит. Есть ли способ обновления? Я немного поглядел, но ничего подобного.

С уважением, Sorin!

+0

Ваш код делает именно то, что вы рассказываете его. У вас есть удаление округлых углов, а затем переворачивание коробки, а затем добавление закругленных углов снова. Просьба уточнить, чего вы ожидаете. –

+0

Можете ли вы еще объяснить, как это называется? – Nayish

+0

Могут быть проблемы с браузером: в firefox я никогда не вижу углов, идущих на квадрат. Класс удаляется только после завершения анимации, а затем сразу же добавляется обратно. –

ответ

2

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

Вы можете попытаться удалить класс перед вызовом .flip, вместо того, чтобы использовать onBefore.

+0

работает. ты был прав. –

+0

спасибо большое :) –

+0

добро пожаловать. Я предлагаю вам использовать Firebug или Chrome, встроенный в отладчик javascript. Я поставил точку брака на линии с помощью removeClass, затем выполнил ее и посмотрел на вкладке HTML/CSS, почему у div все еще были границы, и там была замечена копия div. –

1

Это ведет себя очень непоследовательно в Firefox 6.0. Пытались ли вы изменения:

$("#aboutMe").click(function(){ 
    $("#aboutMe").flip({ 
     onBefore:function(){ 
      unsetRounded("#aboutMe"); 
      return; 
     }, 
     ... 
    }); 
}); 

к:

$("#aboutMe").click(function(){ 
    unsetRounded("#aboutMe"); 
    $("#aboutMe").flip({ 
     ... 
    }); 
}); 
+0

Я решил проблему с $ ("# aboutMe"). RemoveClass ("rounded-cornerners"). Flip ({[...]}); –

+1

Это * лучший способ - я думаю, я думал, что вы были привязаны к вашей функции «unsetRounded» :-) –