2016-07-11 4 views
1

У меня есть функция JS, которая оживляет heightdiv со скоростью 0.5 seconds. Значение height равно динамически определяется при загрузке содержимого и может быть от 200px до 6000px или больше.Скорость анимации JS/CSS относительно размера объекта

Проблема, с которой я столкнулся, заключается в том, что когда height больше, чем 800px, мое значение скорости по умолчанию 0.5 seconds делает анимацию слишком быстрой. И если я увеличу значение скорости по умолчанию до, скажем 2 seconds, анимация будет слишком медленной, когда div находится под 800px высоким.

Как я могу сделать скорость анимации относительно высоты div, чтобы анимация ощущалась одинаково независимо от значения высоты?

Я пробовал: Calculate coefficient to get normal speed animation . Но я получаю следующее сообщение об ошибке: ReferenceError: Can't find variable: TimeSpan

Я был бы благодарен, если кто имеет какие-либо идеи - Спасибо заранее

ответ

0

Если вы использовали непосредственно ответ на что вопросы, то TimeSpan объект не будет существовать в ваш код, если вы его не создали, это не функция jQuery или JavaScript, а функция Microsoft .NET.

Вы могли бы реализовать что-то подобное в JS, как так:

var duration = (thisHeight - contentControlHeight)/pixelPerSecondSpeed; 

Если используется значение из таблицы в вопросе вы ссылочного, а именно:

var contentControlHeight = 500; 
var pixelPerSecondSpeed = 30; 
var thisHeight = parseInt($('#someDiv').height()); 

// This should return the correct animation duration 
var duration = (thisHeight - contentControlHeight)/pixelPerSecondSpeed; 

Я не мог проверить это , будет полезен jsFiddle или еще один примерный код.

+0

Спасибо большое Синан - Это отлично работает. Также благодарим вас за объяснение того, что понравилось в предыдущем сообщении. У меня были подозрения, что это не был подход, основанный на JS, но это был самый близкий ответ, который я мог найти. Приветствия. – unwork

+0

@unwork Не беспокойтесь, рад помочь. Не могли бы вы пометить ответ правильно, пожалуйста. –

+0

Я действительно ворвался в этот Синан: он не работает должным образом, анимация слишком быстра на более коротких дистанциях и слишком медленна на более длинных. Я создам пример в Кодепене, когда у меня будет некоторое время спустя сегодня. – unwork

Смежные вопросы