2013-10-15 5 views
0

У меня есть несколько страниц (включая страницу «include» php, в которой содержатся ссылки на мои ссылки. Также у меня есть страница php-страницы нижнего колонтитула.Анимировать вниз с помощью JS

В принципе, я думал о том, что эта гладкая анимация, где моя «сумка», как я ее называю, оживляет вниз. Это в основном немного более привлекательный тип прямоугольника с шириной 1000 пикселей. Таким образом, всякий раз, когда я нажимаю «Службы», например, он будет медленно перемещаться вниз.

Помимо ссылок на моих страницах, порядок того, что у меня есть сейчас, выглядит следующим образом: у меня есть внешние скрипты, и у меня есть текст на каждой из моих страниц. Так, например, для страницы «Услуги» у меня есть текст, за которым следует «сумка». «Сумка» находится на моей php-странице «include».

Это код, который у меня есть для анимации. У меня есть аналогичный код, который работает над другим проектом, который включает в себя больше кодирования. Но, я полагаю, этот код здесь правильный. Вопрос заключается в том, как я могу это сделать, что этот код запускается перед загрузкой текста другой страницы:

$('#services-fr-2').click(function(){ 
    if ($('#green-pouch-fr').height() == 580) { 
     $('#green-pouch-fr').animate({ 
     'top':'800px', 
     'height':'500' 
     }) 

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

ответ

0

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

Если этот вопрос с вопросом, как установить текст только после того, как анимация будет завершена, вы можете сделать это так:

$('#green-pouch-fr').animate({ 
      'top':'800px', 
      'height':'500' 
      }, 
      { 
       complete: function() { 
         $(this).text(pageContent); 
       } 
      } 
); 
+0

Я попытался, как вы предложили. Btw, pageContent, это должно быть в цитате с самим содержимым страницы? Предполагая, что я сделал это правильно, ничего не происходит. Кроме того, действительно ли ваш код пытается сделать это на той же странице? ИЛИ на следующей странице. Потому что, когда я нажимаю на ссылку, это буквально другая страница. Таким образом, возможно, что он никогда не закончил действие, поскольку он приземляется на следующей странице? –

+0

@ Midevil Chaos - Я предполагаю, что «pageContent» - это переменная, показывающая, какой контент вы хотите отображать. Одной из проблем «другой страницы» может быть то, что ваш обработчик кликов запускает пост-обратно. См. Http://stackoverflow.com/questions/16145989/jquery-asp-net-stopping-postback –

+0

Посмотрите мой комментарий ниже (тот, что для PHPglue). Я проверил обе ваши ссылки и сделал все возможное с течением времени. Надеюсь, что на скрипке означает, что я на правильном пути. Кстати, когда вы сказали переменную, вы на самом деле говорили, что я должен создать переменную в этом контексте? Если да, не могли бы вы рассказать о полезности и фактическом использовании этого в этом случае? (без сарказма) –

0

Попробуйте что-то вроде:

$.ajax(/* ajax stuff here */).done(function(data){ 
    $('#green-pouch-fr').animate({ 
    top: '800px', 
    height: '500' 
    }, 500, function(){ 
     //run your text data here 
    } 
    }); 
    }); 
+0

Не будет ли это просто обновлять страницу для просмотра новых данных? Я не знаком с ajax. Использовал его несколько раз, но недостаточно, чтобы знать, как его кодировать. –

+0

Как еще вы могли бы получить данные с другой страницы на основе действия? AJAX не обновит всю страницу, это похоже на частичное представление. Вы передаете объект методу '$ .ajax()'. Вероятно, вы захотите перейти на http://api.jquery.com/jQuery.ajax/ hit ctrl + f и вставить следующее: «Сохраните некоторые данные на сервере и уведомите пользователя после его завершения». Этот пример должен помочь. – PHPglue

+0

Я пробовал несколько вещей с помощью ajax, и этот вот выглядел наиболее логичным. Я знаю, что это неправильно. Но я не вижу в этом плохой логики. Возможно, вы могли бы взглянуть на него. Обратите внимание, что страница служб - это ВТОРАЯ страница (в основном, на главной странице есть onClick на href. Но то, что на скрипке - страница служб, и файл js и файл css). http://jsfiddle.net/qdshz/ –

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