将 .height 放入数组中?

发布于 2024-11-02 11:29:12 字数 940 浏览 3 评论 0原文

我有一个带有以下 HTML 的 jQuery 轮播:

<ul>
    <li>
        <img src="afbeelding.png" alt="afbeelding" />
        <div class="tekst">
            <p>Tewefjwoejgi wjgiowje iogjwioej goiwejgioj woegjio</p>
        </div>
    </li>
    <li>
        <img src="afbeelding.png" alt="afbeelding" />
        <div class="tekst">
            <p>Tewefjwoejgi wjgiowje iogjwewdg iowejgio jwoiegj oiwjoegioej goiwejgioj woegjio</p>
        </div>
    </li>
</ul>

但是网站的用户可以在 divtekst 中设置文本。现在我有 li 项目,在 div 类文本中有 2 个单词。而且在 div.text 中还有包含大量文本的 li 项目。

div 类文本具有背景颜色。我想让每个 div 具有相同的高度。

如何使用 Javascript 或 jquery 实现此目的?也就是说,divtekst 的高度是最大的divtekst 的高度?

I have a jQuery carousel with this HTML:

<ul>
    <li>
        <img src="afbeelding.png" alt="afbeelding" />
        <div class="tekst">
            <p>Tewefjwoejgi wjgiowje iogjwioej goiwejgioj woegjio</p>
        </div>
    </li>
    <li>
        <img src="afbeelding.png" alt="afbeelding" />
        <div class="tekst">
            <p>Tewefjwoejgi wjgiowje iogjwewdg iowejgio jwoiegj oiwjoegioej goiwejgioj woegjio</p>
        </div>
    </li>
</ul>

But the user of the website can set text in the div class tekst. Now i have li items with 2 words in the div class text. But also li items with a lot of text in the div.text.

The div class text has a background color. I want make every div the same height.

How can I achieve this with Javascript or jquery? That is, the div class tekst has the height of the biggest div class tekst?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

神也荒唐 2024-11-09 11:29:12

jQuery“插件创作”页面,有一个方便的插件:

(function( $ ){

  $.fn.maxHeight = function() {

    var max = 0;

    this.each(function() {
      max = Math.max( max, $(this).height() );
    });

    return max;
  };
})( jQuery );

它需要一组元素并返回最高的高度。像这样使用它:

$('div.tekst').height($('div.tekst').maxHeight() + 'px');

From the jQuery 'Plugin Authoring' page, there's this handy plugin:

(function( $ ){

  $.fn.maxHeight = function() {

    var max = 0;

    this.each(function() {
      max = Math.max( max, $(this).height() );
    });

    return max;
  };
})( jQuery );

Which takes a set of elements and returns the height of the tallest. Use it like this:

$('div.tekst').height($('div.tekst').maxHeight() + 'px');
兮颜 2024-11-09 11:29:12

您需要抓取页面上的所有 $('.tekst') 元素,并使用 var myHeight = $('.tekst').height() 找到最大高度;

然后,您可以使用 $('.tekst').height(myHeight); 设置高度

。完成上述计算后,您仍然可以使用轮播。

为了迭代页面上的 tekst 元素,您可以使用 .each();

参考: http://api.jquery.com/each/

希望有所帮助。

You will need to grab all the $('.tekst') elements on the page, and find the largest height, using var myHeight = $('.tekst').height();

You can then set the height using $('.tekst').height(myHeight);

Then you can still use carousel once you have done the above calculations.

In order to iterate through the tekst elements on the page, you can use .each();

Reference: http://api.jquery.com/each/

Hope that helps.

无妨# 2024-11-09 11:29:12

不完全清楚你想要实现什么,但猜测,为什么不使用 CSS?

.BiggestDivClass
{
    height:64px; /* replace with the desired height */
    max-height:64px; /* play it safe? */
}

除非您现有的脚本在运行时操纵样式,否则这就足够了。

Not entirely clear on what you're trying to achieve but in guessing, why not use CSS?

.BiggestDivClass
{
    height:64px; /* replace with the desired height */
    max-height:64px; /* play it safe? */
}

Unless your existing scripts manipulate styles at runtime, this could well suffice.

南城追梦 2024-11-09 11:29:12

你确实不会使用 javascript 设置高度,而是使用 CSS。您可以创建定义它的类并将其应用为类似的东西。

$('div').addClass("heightClass");

或者您可以应用归因的样式。

$('div').attr("style", "height:100px;");

You really wouldn't set the height with javascript, but with CSS. You can create class that defines that and apply it with something like.

$('div').addClass("heightClass");

or you could apply the style attributed.

$('div').attr("style", "height:100px;");
海螺姑娘 2024-11-09 11:29:12

使用普通 CSS,很难创建具有相同高度的元素,除非您可以使用表格或 display: table-cell

其他选项:

  1. 指定固定高度和 overflow:hidden 以确保较大的 div 不会泄漏。向 div 添加 onmouseover 事件,然后显示完整版本。

  2. 只需为所有 DIV 指定一个大高度

  3. 并排渲染所有 DIV,然后使用 JavaScript 将容器的高度指定给所有 DIV(容器将 。

With plain CSS, it's hard to create elements with the same height unless you can use a table or display: table-cell.

Other options:

  1. Assign a fixed height and overflow: hidden to make sure the bigger divs don't leak. Add a onmouseover event to the divs and show the full version then.

  2. Just assign a big height to all DIVs

  3. Render all DIVs side by side and then assign the height of the container to all of them with JavaScript (the container will get the height of the tallest child).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文