2014-09-01 2 views
-2

Я использовал приведенный ниже код JQuery для переключения элемента div. Toggle прекрасно работает, но он не выглядит гладким. Итак, я прошу вас, чтобы люди стали более гладкими и помогли мне справиться с этой раздражающей функцией.Как сделать jquery toggle smoother

function toggleDiv(footerExpanded) { 
$("#"+footerExpanded).toggle(); 
} 
+0

Как отмечает Ранальд Лам, это может случиться на некоторых мобильных устройствах младшего класса, которые испытывают трудности с обработкой анимации JS. Однако анимации CSS3 ускоряются аппаратными средствами, что означает, что они могут работать более плавно на таких устройствах. Нижняя сторона - это то, что старые браузеры не поддерживают CSS3. –

+1

'.toggle()', без параметров, просто отображает или скрывает элемент. Вы должны передать ему продолжительность, если хотите анимацию. – j08691

ответ

1

Вы можете использовать длительность, как в ниже -

$("#"+footerExpanded).toggle("slow", function() { 
    // Animation complete. 
}); 

или просто

$("#"+footerExpanded).toggle("slow"); 

или

$("#"+footerExpanded).toggle(200); 
$("#"+footerExpanded).toggle(100); 

по умолчанию является 400

+0

Спасибо HADI !!!! –

+0

Вы всегда приветствуете @anandbookletS – HADI

0

Вы можете посмотреть в CSS3 transition-duration, а затем просто изменяя CSS внутри toggleDiv и CSS будет обрабатывать анимацию для вас :) Из личного опыта это намного более гладко.

0

Это помощь?

function toggleDiv(footerExpanded) { 
    $("#"+footerExpanded).toggle('slow','swing'); 
}