2015-07-13 7 views
0

Я создаю форму, в которой у меня есть много дочерних форм для отправки, поэтому я использовал функцию jQuery, где каждая из них отправит сообщение в верхней части страницы, теперь то, что я хочу, на каждом представить страница прокручивается до DIV, где что JQuery звонит .Здесь мой кодКак переместить страницу каждый раз в div

var url = "<%=addPersonalDetailsURL%>";  
var type = "addPersonalDetails"; 
if(!($('#<portlet:namespace/>address1').val()=='' || $('#country').val()=='None' ||$('#<portlet:namespace/>primaryPhone').val()=='')){ 
jQuery.getJSON(url+"&address1="+address1+"&address2="+address2+"&country="+country+"&state="+state+"&city="+city+"&zip="+zip+"&skypeId="+skypeId+"&twitter="+twitter+"&primaryPhone="+primaryPhone+"&secondaryPhone="+secondaryPhone+"&type="+type, function(data) { 


      $('html, body').animate({ 
       scrollTop: $(".success").offset().top 
      }, 800); 


     for(var z=0; z<data.applicationArray.length;z++){ 

      applicationArray = data.applicationArray[z].split("$$##$$##"); 

      address1 = applicationArray[0]; 
      address2 = applicationArray[1]; 
      city = applicationArray[2]; 
      primaryPhone = applicationArray[3]; 

     } 

jQuery.getJSON дает некоторый результат, где на основании я должен использовать эту функциональность. Так вы можете сказать, как я должен изменить ваше решение.

ответ

1

Вам нужно будет получить верхнее положение вашего элемента на странице и переместить свиток в эту позицию. Что-то вроде кода ниже:

jQuery(window).scrollTop(jQuery(".success").offset().top); 

Обратите внимание, что приведенный выше код будет двигаться к первой .success позиции. Если у вас есть ссылки на конкретный один, добавить индекс в селекторе, например:

jQuery(window).scrollTop(jQuery(".success:eq(1)").offset().top); 
0

Вы можете сделать это с помощью этой функции:

$("button").click(function() { 
    $('html, body').animate({ 
     scrollTop: $(".whichElement").offset().top 
    }, 800); 
}); 

Объяснение:

Если кнопка мы прокручиваем страницу до элемента с классом whichElement, а продолжительность прокрутки - 800ms.

Пример:

$(".first-hey").click(function() { 
 
    $('html, body').animate({ 
 
     scrollTop: $(".second-hey").offset().top 
 
    }, 800); 
 
}); 
 

 
$(".second-hey").click(function() { 
 
    $('html, body').animate({ 
 
     scrollTop: $(".third-hey").offset().top 
 
    }, 800); 
 
}); 
 

 
$(".third-hey").click(function() { 
 
    $('html, body').animate({ 
 
     scrollTop: $(".first-hey").offset().top 
 
    }, 800); 
 
});
.divide { 
 
    height: 1300px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button class="first-hey">First hey</button> 
 

 
<div class="divide"></div> 
 

 
<button class="second-hey">Second hey</button> 
 

 
<div class="divide"></div> 
 

 
<button class="third-hey">Third hey</button>

+0

решение было хорошо, но я не нужно нажать любую кнопку, чтобы позвонить, что я нажав на кнопку, которая дает некоторый результат на основании того, что я хочу эту функциональность. Я показываю вам, как работает моя функция, редактируя мой вопрос – lucifer

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