【问题标题】:CSS/JS 100% Height of Embed with jQuery Sliding HeaderCSS/JS 100% 嵌入高度与 jQuery 滑动标题
【发布时间】:2011-08-04 13:05:39
【问题描述】:

我已经搜索了过去两个小时,但无法找到解决这种确切情况的方法。

我有一个网站,允许用户“弹出”来自第三方(例如 justin.tv)的嵌入式视频流。当他们这样做时,我在窗口中放了一个全宽的标题,除了顶部的 10px 之外,它大部分都是隐藏的。

当他们将鼠标悬停在 10 像素区域时,标题会扩展到内容中,为他们提供一些菜单选项,例如“弹回”。

问题是,无论我做什么(纯 css、css/js 等),我都无法得到它,因此在每种情况下,都是:

  • 已创建弹出窗口,标题显示为 40 像素,一段时间后,它会折叠回 10 像素
  • 用户悬停标题,它展开 40 像素
  • 用户鼠标移出页眉,缩回 10 像素

嵌入的视频将占用窗口中所有剩余空间,我们将永远不会在窗口中看到滚动条。

我已经“主要”使用 javascript 来调整 div 的大小,但它不能很好地与负责更改标题高度的 jquery.animate() 函数结合使用。

感谢任何帮助!

编辑:

可以在以下位置找到一个半工作示例:

http://wellplayed.org/channel/now_live

根据您阅读本文时正在直播的频道,单击其中一个,然后在“查看流”页面中,找到左上角的“弹出流”按钮。

但请注意,我已经纠正了一些在我的开发环境中是如何完成的,所以它并不像现在那样相当那么糟糕。

【问题讨论】:

  • 发布您的 css 和 html。或者更好的是,一个工作示例或 jsfiddle 链接。

标签: jquery css popup height embed


【解决方案1】:

感谢您发布您正在尝试做的事情的视觉效果

我认为在这种情况下,如果您使用绝对定位会容易得多,这样只有一个变量(顶部坐标)需要操作,并且您不必执行调整大小功能,AP (绝对定位)也会解决这个问题。

本质是,您需要 div、bar 和 video 容器同时制作动画,当它们制作动画时,您还需要嵌入对象以相同的速度调整大小。我发现有办法太多的计算,即使这样我也无法以任何速度让对象与它的父对象一起调整大小..所以我认为让 CSS 尽可能地做 mych 更容易,然后只使用 jQuery 来移动位置

主要是要确保顶部栏#stream-bar-hover 始终保持相同的高度。所以不要在上面放置填充等。你已经在里面有#stream-bar,所以任何装饰都可以放在那里

我的基础是左上角的图像根据您的 HTML 为 38x38,但是如果您希望它更小,您可以计算下一点不同,当我添加 1px 边框和 2px 填充和 2px 边距时#stream-bar 这意味着“悬停栏的高度必须为 48px(我确实添加了溢出:隐藏以防万一;))

然后绝对定位 #stream-bar-hover#stream-popup 使它们两个填充屏幕的各个部分,因此 top: 0; 为栏,top: 48px; 为视频容器,左右坐标这两个 div 永远不需要通过只更改最上面的一个来改变你的延迟功能和悬停功能应该都可以工作,你只需要同时为两个 div 顶部坐标设置动画

这种方法的优点是它不需要 window.resize() 函数,我认为你的方法会

这是一个工作示例:link 与代码的小提琴:here

【讨论】:

  • 它绝对适用于你的小提琴,但我不能让它在我的最终工作。一定是其他一些影响它的样式。
  • @WerkkreW,谢谢 - 您的 CSS 需要进行大量更改,最初我尝试使用它,但是覆盖太多,这使得“结束”代码难以理解,对不起!通过规则级联有相当多的填充和边距,Firebug 将成为您覆盖它们的朋友,或者如果可以的话,删除其中一些可能会更容易
猜你喜欢
  • 2010-11-18
  • 1970-01-01
  • 1970-01-01
  • 2011-08-16
  • 1970-01-01
  • 2010-10-22
  • 1970-01-01
  • 2011-09-25
  • 2015-12-05
相关资源
最近更新 更多