jQuery 向下/向上滑动和响应式设计

标签 jquery html responsive-design

我有一个可以响应式调整大小的菜单,因此每次调整大小时 div (#menuWFhover) 的内容都会重新排列,因此 div 根据窗口大小具有不同的高度。

当我使用 jQuery slideDown/Up 时,它第一次工作正常,但在调整大小后,div 保持前一个动画的高度。这是因为 SlideDown 会根据高度进行动画处理吗?这是我正在使用的简化版本。如果我替换/添加 (windows)resize (这是我的猜测,它与此有关),动画不会发生,但我可能做错了。

$(document).ready(function(){
        var WFover = function () {
            $('#menuWFhover').stop().slideDown(300);
        };
        var WFout = function () {
            $('#menuWFhover').stop().slideUp(300);
        };

        $('#menuNewBox').mouseover(WFover);
        $('#menuWFhover').mouseover(WFover);
        $('#menuNewBox').mouseout(WFout);
        $('#menuWFhover').mouseout(WFout);
});

最佳答案

ComputerArts mentioned ,问题是 jQuery 在完成动画后显式设置了 div 的高度。然后,即使您在 CSS 中调整了 div 的大小,它也会重用这个显式高度。

当然,现在,您可能应该使用 CSS 动画来完成此类事情。
(参见http://addyosmani.com/blog/css3transitions-jquery/)

如果您需要 jQuery 解决方案,您可以在动画完成后强制高度为未定义,以便 jQuery 获取当前的 CSS 高度。不过,这会稍微改变行为:

演示: http://jsfiddle.net/brianpeiris/8zc5g/show

$(document).ready(function(){
        var WFover = function () {
            $('#menuWFhover').stop().slideDown(600), function () {
                $('#menuWFhover').height(''); 
            });
        };
        var WFout = function () {
            $('#menuWFhover').stop().slideUp(600), function () {
                $('#menuWFhover').height(''); 
            });
        };

        $('#menuNewBox').mouseover(WFover);
        $('#menuWFhover').mouseover(WFover);
        $('#menuNewBox').mouseout(WFout);
        $('#menuWFhover').mouseout(WFout);

    $(window).resize(function () {
        $.removeData($('#menuWFhover')[0], 'fxshow', true);
    });
});

关于jQuery 向下/向上滑动和响应式设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12292413/

相关文章:

html - 使用 flexbox 的响应式 tile 布局

javascript - 单击手机/平板电脑,将鼠标悬停在其他设备上(面向 future )

javascript - 按字母顺序排列 JavaScript for 循环

javascript - Bootstrap 3 Collapse - 基于折叠状态的链接图标

javascript - AJAX 使用 Servlet 参数为 null

css - 使无序列表水平拉伸(stretch)以便始终填满 div

php - 无法在数据库提交表单中存储数据

javascript - 缩放 div 以适合窗口但保持纵横比

python - BeautifulSoup:如何忽略虚假的结束标签

html - 响应式媒体查询不适用于 PC 上的浏览​​器调整大小