- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在开发一个通过 PHP 动态创建类似 facebook 按钮的网站。然而,<div>
按钮包含在需要具有 CSS 属性 overflow: hidden;
这是我发现可以制作双列格式的唯一方法,该格式强制两列扩展为最长一列的长度。这种方法的唯一问题是,当有人点击它们并展开时,放置在容器底部附近的任何类似 facebook 的按钮都会被剪掉。
以下是我尝试解决此问题的方法:
我使用 jQuery 遍历页面上所有类似 facebook 的按钮,并使用 offset()
计算它们的文档偏移量方法。
然后我 clone()
每个按钮以及使用 jQuery 的 css()
给它绝对定位和计算的偏移量方法。当我将每个克隆按钮附加到文档时,我希望将其放置在与克隆按钮相同的位置。
最后,我将每个类似 facebook 的旧按钮的 css 更改为 visibility: hidden;
为了使其不可见但仍占用它之前在页面上的空间。我将类似 facebook 按钮的克隆添加到没有 overflow: hidden;
的 div使用 appendTo()
的属性功能。
这是我完成这个过程的全部代码:
// Replaces functional facebook recommend buttons with identical ones
// in a div where they won't get clipped when they expand.
// Hides the old buttons so space is still left for new ones
$(window).load(function(){
$(".fb-recommend").each(function(){ // cycle through each recommend button
var offset = $(this).offset(); // calculate offset of each button
var newButton = $(this).clone(); // clone the button
newButton.css({'position':'absolute', 'left':offset.left, 'top':offset.top});
$(this).css("visibility","hidden"); // hide the old button
newButton.appendTo("#wrapper"); // put the new button in the wrapper where it won't get clipped
});
});
在这一切结束时,我希望将每个按钮的克隆放置在旧按钮所在的位置,但在不同的 <div>
中。 .整个过程有效,除了克隆的类似 facebook 的按钮出现在与它们被克隆的按钮略有不同的位置(正如 PitaJ 指出的那样,它们似乎偏离了大约 39px 的垂直偏移倍数)。您可以在此处查看问题:
如您所见,第一个按钮放置在正确的位置(由其隐藏的克隆填充的空白区域)但其他偏移量计算不正确。
如果有任何想法或帮助,我将不胜感激。如果您希望我更好地解释或发布更多代码,请告诉我!
编辑:我想我会在这里发布类似 facebook 的按钮的 CSS(即使我要更改的只是边距):
#content .fb-recommend {
margin: 15px 0 5px 0;
}
编辑 2: 根据 UnLoco 的建议,我向 fb-reccommend CSS 添加了一个 min-height 属性,并注释掉了隐藏旧按钮的代码行,以便更容易看到问题(仍然存在,虽然稍微减轻了一些。CSS 现在看起来像这样:
#content .fb-recommend {
margin: 15px 0 5px 0;
min-height: 39px;
}
编辑 3: 这个问题似乎已经在除 IE 之外的所有浏览器中解决,方法是将 CSS 更改为:
.fb-recommend {
min-height: 24px; // I used 24 because the fb-buttons are 24px in height
}
最终编辑?这似乎适用于我这边的所有浏览器,包括 IE:
.fb-recommend {
min-height: 39px;
}
我现在在想,39 可能来自旧 fb 按钮的 15px 边距 + 它的 24px 高度。我想我可以通过简单地将高度设置为 39px 并且没有边距来解决这个问题。
最佳答案
这是因为您在 fb iframe 实际加载之前检索偏移量。只需添加这样的 css 规则
div.fb-recommend{min-height:39px}
关于javascript - jQuery .offset() 没有检索到正确的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12022283/
看来 OFFSET由于性能低下,不建议在处理大记录时使用类似 WHERE id < x LIMIT y 的东西. 如果是这种情况,为什么 OFFSET 存在,它还有其他用途吗? 最佳答案 从概念上讲,
我用过 objdump -M intel -d test 和 objdump -d test 使用 gcc 686-elf 交叉编译器反汇编一个非常简单的 for 循环。在这两种情况下,我都会得到以下
我正在尝试遵循本指南: https://spark.apache.org/docs/latest/structured-streaming-kafka-integration.html但我不明白为什么
我正在尝试遵循本指南: https://spark.apache.org/docs/latest/structured-streaming-kafka-integration.html但我不明白为什么
这个问题已经有答案了: MySQL Data - Best way to implement paging? (9 个回答) 已关闭 3 年前。 我是 SQL 世界的新手。 现在,我有以下查询: SE
托管我的db 的服务器位于美国。当我向 db 添加项目时,我希望使用 Australia/Sydney 时间存储时间。无论用户在哪个国家/地区,如果他们检索此记录,都应使用 Australia/Syd
我有一个 周边其中也有一些图像,和一段文字。 都是inline-block .每当 H2 延伸到两行时,下一个 是抵消。以下是屏幕截图。 HTML:
我正在尝试使用时区偏移量和 UTC 时间戳来调整时间。 我正在运行以下代码: var date = { utc: '2013-10-16T21:31:51', offset: -480
我不应该在我的应用程序中使用 jQuery,但我有一个场景,我需要元素的偏移量,而不是使用 $(element).offset() 我已经使用了 angular.element(element).of
我有一个包含 ID、NAME、PRICE 和 DATE 列的表。 我正在尝试编写一个分页式导航,因为表中有很多条目,所以查看整个 SELECT 的输出变得不舒服。 我写了以下请求: SELECT id
我现在已经多次看到提到的这段代码,执行 Max(a+1, a-1) 有什么意义?一开始我以为可能是为了防止下溢,但是在那种情况下不防止下溢真的没有意义。 最佳答案 谷歌搜索让我怀疑这可能是由某些(可能
我正在尝试创建一种将时间从一个时区转换为另一个时区的小方法。我认为这很简单,但是当我部署它时我得到了这个错误 The UTC Offset of the local dateTime paramete
我有一个相当复杂的 SQL 查询,涉及从大量连接返回大约 20 列,用于在 UI 中填充结果网格。它还使用几个 CTE 来预过滤结果。我在下面包含了查询的近似值(我已经注释掉了修复性能的行) 随着数据
所以我试图减去 datetime 对象。我使用 dateutil.parser 获得了一个,另一个来自 datetime.now()。我不断得到一个 TypeError: can't subtract
所以我试图减去 datetime 对象。我使用 dateutil.parser 获得了一个,另一个来自 datetime.now()。我不断得到一个 TypeError: can't subtract
我有一个 Pandas 数据框: name my_timestamp ------------------------------------------ 0 a1 201
我只是 Bootstrap 4 的初学者。 我最近才开始学习它,很遗憾,我已经遇到了问题。我修改了 Bootstrap 4 手册本身的一些代码。然而,它惨遭失败,偏移量无法正常工作。代码非常简单,但不
我尝试使用 R 进行回归。我有以下代码,导入 CSV 文件没有问题 dat <- read.csv('http://pastebin.com/raw.php?i=EWsLjKNN',sep="
假设我有 search.php 和 edit.php。在 search.php 中,他们可以删除和更新一些记录。如果用户单击“更新”按钮,系统会将用户重定向到另一个名为 edit.php 的页面。我成
我正在使用流行的 css hack 在 Internet Explorer 8 中启用边框半径,可在此处找到:( Curved-corner-border-radius-cross-browser)。
我是一名优秀的程序员,十分优秀!