-1

我制作了一个 CMS 页面,可以在其中向我的网站添加文本。在页面上,我有多个提交表单。为了避免滚动,我制作了一个带有 jquery scrollto 动作的菜单来跳转到正确的提交表单。

$(document).on('click', '#scrollto_blogpost', function(event) {
    $('html,body').animate({
        scrollTop: $('#blogtitle').offset().top -100
    }, 'slow');
});

它直接跳转到输入字段#blogtitle(这是表单的上部输入字段),我将其偏移以在浏览器边缘和输入字段之间留出一些间距。

如果我单击菜单项,它会跳转到表单,但我无法单击输入字段,并且单击提交按钮也会被忽略。textarea 框确实会在单击时做出反应,但仅在第二行附近的某个地方。

目前的解决方法是: - 跳转到表单。- 用鼠标手动上下滚动 - 所有输入字段都会对鼠标点击做出反应。

我想这与偏移量有关,但我找不到正确的解决方案。

4

1 回答 1

0

//这是静态的

 $('#scrollto_blogpost').click(function() {
            $.scrollTo( '#blogtitle', 800, {easing:'swing'} );
            $('#blogtitle').effect('highlight', {}, 3000);
        });

//对不同的链接和div使用动态使其像这样

<a href="#divid" class="link">click me</a>
<div id="divid">Your DIv</div>
$('.link').click(function(event) {
            event.preventDefault();
            var id =$(this).attr('href') //make sure your href="#divid"
            $.scrollTo( id, 800, {easing:'swing'} );
            $(id).effect('highlight', {}, 3000);
        });
于 2013-08-02T11:16:03.810 回答