【问题标题】:jarring toggling effect不和谐的切换效果
【发布时间】:2010-09-29 01:56:26
【问题描述】:

我有一个固定高度的 div,如下所示。 2 个问题。

1 - 当我点击 'on_click"show_hidden_​​div' 时,它确实显示了 div,但由于父 div 的高度是固定的,我只得到一个滚动条,现在用户必须向下滚动,当隐藏的 div 是否显示?

2 - 当隐藏的 div 再次隐藏时(通过单击链接),似乎整个 'fixed_height' 有点不和谐,而 div 被隐藏了。如何让这个顺利?

我显然在使用 jquery,这个固定高度的 div 在 jquery 工具覆盖 div 内,基本上这是一个模态对话框。

这里是javascript

$('#on_click_show_hidden_div').live('click', function() {
        $('#on_click_show_hidden_div').toggle('slow');
        return false;
    });

  <div id='fixed_height>

    <div id='form-wrapper'>
    <!-- form and form element -->
    <form id='post_form'>
    <a id='on_click_show_hidden_div'></a>
    <div id='hidden_div_with_more_form_elements'></div>
    <input id='submit'/>
    </form>
    </div>

</div>

【问题讨论】:

  • 不确定如果不发布您的 javascript,您将获得多少帮助..

标签: jquery html css


【解决方案1】:

首先,我假设在您的点击事件中,您打算切换hidden_div_with_more_form_elements,而不是链接本身。

其次,如果您合理地格式化您的 html(即双引号)会有所帮助

第三,如果您提供一些基本的 CSS 来显示示例 html 的实际问题,将会很有帮助。

最后,这里接近你想要的:

$('#on_click_show_hidden_div').click(function() {
  $('#hidden_div_with_more_form_elements').toggle('slow', function(){
     var pos = $('#hidden_div_with_more_form_elements').position().top;
     $('#fixed_height').scrollTop(pos);
  });

  return false;
});

这是一个活生生的例子:http://jsfiddle.net/ryleyb/ewehW/

本质上,jQuery 的 scrollTop 提供了您想要做的事情,我在切换动画的回调中使用它(即,一旦成功动画,滚动到它)。

【讨论】:

  • 谢谢。它确实解决了第一个问题。但是当 div 被切换为隐藏时,震动仍然发生。
  • 我不是 100% 确定我明白你在说什么,这有帮助吗:jsfiddle.net/ewehW/1
  • 这是我的代码,我认为可能导致问题的原因是整个内容都包含在此覆盖 div 中。pastie.org/1187149
  • 我看不出叠加层与没有叠加层有任何区别 - 您可以编辑这个:jsfiddle.net/ryleyb/ewehW/2 直到它显示您遇到的问题,然后单击“更新”按钮(它可以保存它)?这样我就可以看到发生了什么......
  • 给你,我更新了jsfiddle.net/ewehW/15。当你再次隐藏它时,有一个闪光。在这个 jsfiddle 中它看起来并不像在我的情况下那样糟糕,但是您可以看到不和谐的闪光。可能发生的情况是,在我的网站中,当覆盖首次显示时没有滚动条,它的大小适合表单,当隐藏的 div 显示时,滚动条出现,当你隐藏它时它消失了..可能是这种调整是造成这种情况的原因。
猜你喜欢
  • 1970-01-01
  • 2011-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-06
相关资源
最近更新 更多