- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我得到了 3 张带有一些文本的 Bootstrap 卡和一个显示更多文本的按钮。这些卡片具有 display:flex 因为它们都有不同的文本,但我希望它们具有相同的高度。在一张卡片上显示更多文字后,所有三张卡片都会展开。这完全有道理,因为它有 display:flex。但是有什么办法可以让卡片在所有卡片都关闭时具有相同的高度,并且只有一张卡片可以通过显示更多按钮展开吗?
我创建了一个 gif 以进一步显示我的问题:https://imgur.com/nM1lOn7
这是我的 js 和我的 html:
$(document).ready(function() {
$("#toggle").click(function() {
var elem = $("#toggle").text();
if (elem == "Mehr Lesen") {
$("#toggle").text("Weniger anzeigen");
$("#text").slideDown(50);
} else {
$("#toggle").text("Mehr Lesen");
$("#text").slideUp( 50);
}
});
});
$(document).ready(function() {
$("#toggle1").click(function() {
var elem = $("#toggle1").text();
if (elem == "Mehr Lesen") {
$("#toggle1").text("Weniger anzeigen");
$("#text1").slideDown(50);
} else {
$("#toggle1").text("Mehr Lesen");
$("#text1").slideUp( 50);
}
});
});
$(document).ready(function() {
$("#toggle2").click(function() {
var elem = $("#toggle2").text();
if (elem == "Mehr Lesen") {
$("#toggle2").text("Weniger anzeigen");
$("#text2").slideDown(50);
} else {
$("#toggle2").text("Mehr Lesen");
$("#text2").slideUp(50);
}
});
});
<div class="container-fluid">
<h1 class="test-header">Was unsere Kunden sagen</h1>
<h2 class="test-header2">Das Reshape your Body Konzept hat schon für so viele Menschen funktioniert, es wird auch für dich funktionieren.</h2>
<div class="row row-padding">
<div class="col-lg-4 card-flex mx-auto">
<div class="card">
<div class="card-body">
<h4 class="card-title">Andrea<span><i class="fas fa-star stars first_star"></i><i class="fas fa-star stars"></i><i class="fas fa-star stars"></i><i class="fas fa-star stars"></i><i class="fas fa-star stars"></i></span></h4>
<p class="card-text read-more-wrap">Mir geht es prima, bin immer statt! Das gab es noch nie bei mir und ich habe mich heut gewogen wieder eins weniger also nun 2,5 kg nach einer Woche.<br><span id="text"> Fantastisch step by
step aber endlich funktioniert bei mir etwas, was jahrelang nicht funktioniert hat. Bin sehr zufrieden und fühl mich super. Auf geht´s in die 2. Phase</span></p>
<button class="btn btn-secondary card-btn" id="toggle">Mehr Lesen</button>
</div>
</div>
</div>
<div class="col-lg-4 card-flex mx-auto">
<div class="card">
<div class="card-body">
<h4 class="card-title">Daniel<span><i class="fas fa-star stars first_star"></i><i class="fas fa-star stars"></i><i class="fas fa-star stars"></i><i class="fas fa-star stars"></i><i class="far fa-star stars"></i></span></h4>
<p class="card-text read-more-wrap">Ich muss wirklich sagen das ich sehr skeptisch gegenüber dem Konzept gewesen bin. Wahrscheinlich weil ich schon so viel ausprobiert hatte. Jetzt, nach 8 Wochen habe ich 9,3 Kilo auf der Waage
runter.
<br><span id="text1"> Ich fühle mich einfach unfassbar gut, habe nicht das geringste Bedürfnis zu naschen oder zwischen den Mahlzeiten zu Essen. Das hatte ich wirklich noch NIE!</span></p>
<button class="btn btn-secondary card-btn" id="toggle1">Mehr Lesen</button>
</div>
</div>
</div>
<div class="col-lg-4 card-flex mx-auto">
<div class="card">
<div class="card-body">
<h4 class="card-title">Monika<span><i class="fas fa-star stars first_star"></i><i class="fas fa-star stars"></i><i class="fas fa-star stars"></i><i class="fas fa-star stars"></i><i class="fas fa-star stars"></i></span></h4>
<p class="card-text read-more-wrap">Kurze Info zu meiner Abnehm-Challenge:. Weitere 4 Wochen vorbei und es gibt wieder Gutes zu berichten. Die nächsten 4 Kilos sind verschwunden und das obwohl der ein oder andere "Schlampertag" dabei
war.<br><span id="text2"> Das Konzept ist genial. Vor allen Dingen für diejenigen, wie ich, die zwar abnehmen wollen aber mit Sport nicht soviel am Hut haben.
</span></p>
<button class="btn btn-secondary card-btn" id="toggle2">Mehr Lesen</button>
</div>
</div>
</div>
</div>
</div>
我 100% 确定有更好、也许更简单的方法来编写该 js。但我是一个完全的初学者和菜鸟。
这就是为什么我会感谢各种帮助!
提前致谢!
最佳答案
只做一个功能:)
所以我们的想法是创建一个新函数,它封装了每次用户按下标题时需要执行的所有逻辑,并将其应用于您拥有的每张卡片
function subscribeOnClick(toggle, mainText, altText, slidingText){
toggle.click(function() {
var currentText = toggle.text();
if (currentText === mainText) {
toggle.text(altText);
slidingText.slideDown(50);
} else {
toggle.text(mainText);
slidingText.slideUp(50);
}
});
}
$(document).ready(function() {
subscribeOnClick($("#toggle"), 'Mehr Lesen', 'Weniger anzeigen', $("#text"));
subscribeOnClick($("#toggle1"), 'Mehr Lesen', 'Weniger anzeigen', $("#text1"));
subscribeOnClick($("#toggle2"), 'Mehr Lesen', 'Weniger anzeigen', $("#text2"));
});
或者只删除文本参数,如果它们是常量的话。
如果每个逻辑完全相同。然后我建议迁移到类选择器而不是 id,就像你在示例中所做的那样,并改用 data-toggle
属性
function subscribeOnClick(){
$('.toggle').click(function(event) {
var elem = $(event.target);
var slidingText = elem.prev().find('.extra-text');
if(elem.data('expanded')) {
toggle.text(elem.data('close-text'));
slidingText.slideDown(50);
} else {
toggle.text(elem.data('open-text'));
slidingText.slideUp(50);
}
});
}
$(document).ready(function() { subscribeOnClick() })
和 HTML
<div class="card-body">
...
<p class="card-text read-more-wrap">nach ... einer Woche.<br>
<span class="extra-text"> Fa...die 2. Phase</span>
</p>
<button data-show-more="Mehr Lesen" data-show-less="Weniger anzeigen" class="btn btn-secondary card-btn toggle">Mehr Lesen</button>
...
</div>
关于javascript - 用js单独展开flex对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55761953/
更新 对于那些不喜欢内联 CSS 并想要类的人,这里有另一个带有类和样式表的 jsFiddle。 更新结束 我想做一个产品页面。它将包含三列。第一个是图片,第二个是一些规范,第三个是“入篮”。所有列的
我创建了一个简单的测试应用程序 使用以下代码 var i : int; for (i=0; i *
我做了一个小demo http://html5.by/blogdemo/flexbox/flex-grow-shrink-basis-stackoverflow.html flex 容器中有2个 fl
我读过好几遍,要让 flex-grow 按预期工作,您通常需要设置 flex-grow:1(或 flex: 1) 在元素的父级、其父级等上,一直向上。 在学习 flexbox 时,这给我的印象是它具有
我开始学习 FLEX。我只有 flex sdk。所以我只能使用它开始学习吗?如果是这样,请建议我要通过的链接.. 但是,使用编辑器将最大限度地减少我们的工作,并自行创建代码。所以作为一个新的学习者,理
有没有办法使用 flex-direction: column 在 flex 容器中放置 flex 项有相同的高度,只使用 CSS? JSFiddle:https://jsf
我有一个 flex .swf 和一个单独的 AIR 项目,我试图通过套接字相互通信。 这两个程序连接正常,.swf 能够毫无问题地将数据发送到 AIR 应用程序。但是,我发现当 AIR 应用程序将数据
在这种情况下,我希望将 2.5 放置在 2 下方 - 但 flexbox 容器强制将其放置在同一行,而不是将其放置在 div 下方那已经是那个特定的顺序了。 我如何使用 flexbox - 将包含 2
假设您有一个带有显示 flex、flex-direction 列的 div,在本例中高度为 600。 它有三个子项,每个子项的属性 flex 等于 1。前两个子项呈现一些简单文本,第三个子项呈现 h1
男孩,这个头衔是满口的。让我解释一下我的困惑: 我有一个 flex 容器和 2 个 flex 元素。 /* CSS */ .container {
这个问题在这里已经有了答案: CSS3 Flexbox: display: box vs. flexbox vs. flex (3 个答案) 关闭 1 年前。 今天我们中的许多人都知道 displa
其用例是带有单选按钮的响应式表单。当在大 PC 屏幕上时,所有单选按钮通常都在屏幕上的一行中(就像带有 flex-direction: row 的非包装 flex 容器中的 flex 元素)。在电话上
在可访问的 flex 应用程序中,用户可以使用 TAB 键在控件中导航。 在用户激活特定链接后,flex 应用程序会在 html 页面顶部弹出,并使用 swfobject.embedSWF 加载。 它
我将我的 Flex 3 项目导入 Flex 4 并删除了 Flex 4 问题窗口中列出的所有错误和警告。 启动我的应用程序时,我在 Flex 4 中遇到以下错误。 这可能是什么原因? Error: C
我有如下标记: alot of text 我不能让黄色占据红色的 100% 高度,即使红色溢出,它也只占据窗口的 100%。如果我将红色的 display
我在 Eclispe 3.4 中安装了 flex builder 3 插件。现在许可证过期了。所以我需要在其中添加另一个许可证。但我无法更改许可证 key ,因为该选项已禁用。 因此,请任何人知道如何
这个问题在这里已经有了答案: Make flex items have equal width in a row (3 个答案) How to make Flexbox items the same
我正在尝试理解以下行。 flex :0 1 50% 现在,如果最后一个值,flex basis 是像素,上面会说该元素不允许增长,但允许缩小并且最大为 50 像素。 但是用百分比代替,有什么关系。它将
我一直致力于 flex 布局,遇到了针对 Firefox 和 IE11 的问题。 我创建了一个 codepen显示问题。 截图 Chrome(左)、Firefox(右) 描述 预期的行为是header
我正在尝试在 flex (flash builder 4) 中创建一个简单的表单。我在里面放了一个表单容器和 FormItems。例如,表单项是标准的“客户”字段,例如名字、姓氏、地址、城市、州、 z
我是一名优秀的程序员,十分优秀!