У меня есть рабочая функция slideDown, которую я использую для отображения div, как только пользователь нажал кнопку.
Дивы довольно высоки, и это даст лучший обзор, если я смогу прокрутить их до верхней части страницы. Как я могу активировать и добавлять функцию прокрутки к существующей функции slideDown, которая будет работать одновременно одним щелчком мыши?
JQuery
<script>
$(document).ready(function(){
$("#banner_step_3").hide();
$("#next_btn_show_step_3").click(function(e){
$("#banner_step_3").slideDown(500);
e.preventDefault();
});
});
</script>
HTML
<div class="next_btn" id="next_btn_show_step_3">
<a href="#"><?php echo $lang ['next']; ?></a>
</div>
<article class="order_form_step_3" id="banner_step_3">
</article>
JQuery
$("#banner_step_3").hide();
$("#next_btn_show_step_3 a").on('click', function(e) {//on link click
var ts = $(this).attr('href');//get element
$(ts).slideDown(500);//slide down
$('html, body').animate({ scrollTop: $(ts).offset().top }, 500);//scrollto element
e.preventDefault();//prevent default
});
HTML
<div class="next_btn" id="next_btn_show_step_3">
<!-- added id as href -->
<a href="#banner_step_3">next</a>
</div>
<article class="order_form_step_3" id="banner_step_3">hey yo</article>
Это можно сделать намного проще, если вы опубликуете рабочий пример.
сделал скрипку: http://jsfiddle.net/filever10/6ZcjK/
hide
в начале, как я делал в скрипке, либо display:none
в CSS.
Получите верхнее значение смещения div и используйте jQuery.scrollTop()
<script>
$(document).ready(function(){
$("#banner_step_3").hide();
$("#next_btn_show_step_3").click(function(e){
$("#banner_step_3").slideDown(500, function(){
var offsetTop = $('#banner_step_3').offset().top;
$("html").scrollTop(offsetTop);
});
e.preventDefault();
});
});
</script>