правильный способ jQuery анимировать непрозрачность, исчезать и эффект загрузки страницы вверх / вниз

0

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

JQuery, с которым я столкнулся, - это

$(window).load(function() {
$(".overlay").animate({
    opacity: .5,
    height: "0"
}, 1000, function() {
    $(this).remove()
})
});
$(function() {
setTimeout(function() {
    $(".somediv").animate({
        opacity: 1
    }, 600)
}, 600)
})

Я запускал его, хотя js-компрессор, который удалял "s", а затем через "beautifier" для удобочитаемости, но он все еще работает, и действительно я даже не уверен, насколько важны эти данные в js lol, m парень CSS, и я знаю в CSS последний; не требуется... так что я решил оставить их с работы.

Я привел пример этого в действии. Здесь: JSBin

поэтому, если у кого-то есть предложения по моему коду, так как это моя первая реальная попытка в JQuery, мне бы понравилась некоторая обратная связь =)

  • 1
    Вы правы в отношении ; , Последний не нужен в jQuery. Однако этот вопрос кажется не по теме, поскольку у вас, по-видимому, нет особых проблем с программированием, но вы хотите пересмотреть код, верно?
  • 0
    Ну, вопрос в том, правильно ли я поступил, что-то говорит мне, хотя это работает, я не сделал это должным образом.
Показать ещё 8 комментариев
Теги:
function
onload

1 ответ

0
Лучший ответ

То, что вы сделали, не ошибается, но есть функция задержки, которую вы можете использовать здесь.

$(function() {
setTimeout(function() {
    $(".somediv").animate({
        opacity: 1
    }, 600)
}, 600)
})

станет

$(function() {
    $(".somediv").delay(600).animate({
        opacity: 1
    }, 600)
})

Оба будут работать и в равной мере релевантный код, задержка - это просто сокращение от того, что вы сделали. Однако я бы рекомендовал использовать анимацию CSS3, а не JQuery. Он более плавный и деградирует более изящно, если по какой-то причине JQuery не может загрузить или JS отключен или ошибки. Конечно, это редкие проблемы, но я все равно буду использовать CSS, потому что он встроен в браузер, и вы можете получить доступ к аппаратным ускорениям, если вы инициируете его с помощью tanslateZ (0). Затем используйте JQuery, чтобы добавить класс в загрузку окна или даже использовать его для задержки.

  • 1
    спасибо за отзывы, которые я искал, я не знал точно, почему, но у меня было ощущение, что было слишком много функций. Что касается CSS, насколько я знаю, я не смог бы добиться того же эффекта с переходами и анимацией. Я поиграюсь с ними, но пока это будет работать =) Плюс, я все равно уже пользуюсь JQ-сайтом, так что все работает ... пока что

Ещё вопросы

Сообщество Overcoder
Наверх
Меню