使用 Bootstrap 响应表和 AngularJS 修复了第一列

2023-12-19

我整个上午都在努力解决这个 CSS 问题,但我似乎无法取得任何进展。

基本上,我有一个水平滚动表,我使用了引导响应表,并且刚刚删除了媒体查询,因此它可以在所有屏幕尺寸下水平滚动。我使用 Angular 的 ng-repeat 来循环标题数组和应用于这些标题的数据,并且我希望保留第一列。我的 HTML 如下:

<div id="table" class="table-responsive">
        <table class="table table-bordered">
          <tr>
            <th ng-repeat="header in tableHeaders" ng-show="header.show" ng-class="'column-' + $index">
          <a ng-click="sortThis(header.name, $index)">
            <span class="glyphicon glyphicon-chevron-down" aria-hidden="true" ng-show="sortParam !== header.name"></span>
            <span class="glyphicon glyphicon-chevron-" aria-hidden="true" ng-show="sortParam === header.name"></span>
          </a> {{header.name}} 
          <span ng-show="!$first">
            <a ng-click="toggleColumn(header, $index)">X</a>
          </span>
        </th>
      </tr>
      <tr ng-repeat="row in tableData track by $index">
        <td ng-repeat="point in row | orderObjectBy:tableSort track by $index" ng-show="point.show" ng-class="'column-' + $index">{{point.name}}</td>
      </tr>
    </table>
  </div>

我让表格水平滚动,并且我想冻结第一列。现在,如果有帮助的话,每个列都有自己的类。有任何想法吗?


这是给您的指令:

/*
This directive will fix the first column in place and will use `overflow-x:auto` for the subsequent columns.

Example use:

```
<div fixed-first-column>
    <table class="table">
        <tbody>
            <tr>
                <td><div>Row 1</div></td>
                <td>Value 1</td>
                <td>Value 2</td>
            </tr>
            <tr>
                <td><div>Row 2</div></td>
                <td>Value 1</td>
                <td>Value 2</td>
            </tr>
        </tbody>
    </table>
</div>
```
 */
app.ng.directive("fixedFirstColumn", [function () {
    return {
        restrict: "A",
        template: "<div class='table-responsive'><div ng-transclude></div></div>",
        transclude: true,
        link: function ($scope, $element) {
            var interval = setInterval(function () {
                var tr = $element.find("tr");

                angular.forEach(tr, function (i) {
                    var columns = angular.element(i).children();

                    if (columns.length < 1) {
                        // Row with no columns? Ignore it.
                        return;
                    }

                    var column0 = angular.element(columns[0]).children()[0] || columns[0];
                    var column1 = columns[1];

                    // Calculate heights of each <td>.
                    var height0 = (column0).offsetHeight;
                    var height1 = column1 ? column1.offsetHeight : 0;

                    // Calculate final height.
                    var height = Math.max(height0, height1);

                    // Set heights of <td> and <tr>.
                    columns[0].style.height = height + "px";
                    i.style.height = height + "px";

                    if (column1) {
                        column1.style.height = height + "px";
                    }

                    // If <td> heights have stabilized.
                    if (height0 !== 0 && height0 === height1) {
                        clearInterval(interval);
                    }
                });
            }, 1000);
        }
    };
}]);

See JsFiddle http://jsfiddle.net/p0zfa5gx/3/用于演示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Bootstrap 响应表和 AngularJS 修复了第一列 的相关文章

  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • ReactTransitionGroup 不适用于 React-redux 连接组件

    我正在开发一个更大的项目 但我创建了这个简短的示例来说明问题 如果我使用Box组件 它的工作原理 它在控制台中输出componentWillEnter and componentWillLeave当我们点击按钮时 如果我使用BoxConta
  • React autoFocus 将光标设置为输入值的开头

    我有一个受控输入 最初显示一个值 我已将该输入设置为自动聚焦 但当我希望它出现在末尾时 光标出现在输入的开头 我知道这可能是因为自动对焦是在值之前添加的 但我不能 100 确定 在输入字段末尾完成光标初始化的最佳方法是什么 var Test
  • JavaScript 继承;调用和原型

    要在Javascript中实现继承 通常需要执行以下两个步骤 假设我有一个基类 Animal var Animal function name this name name 我现在想从中派生一个子类 Dog 所以我想说 var Dog fu
  • JavaScript 中的 Promise 有什么意义?

    一个承诺是一个 可能现在可用 或将来可用 或永远不可用的值 来源 MDN 假设我有一个想要处理图片的应用程序 图片已加载 例如在算法在后台使用它之后 或某种其他类型的延迟 现在我想检查一下图片是否可以在future 通过使用承诺 而不是回调
  • React Router v4 不渲染组件

    React Router v4 渲染组件存在问题 在应用程序初始加载时 它将呈现与 URL 相对应的正确组件 但是 任何后续的组件Link单击不会呈现所需的组件 图书馆 反应路由器 4 2 2 https reacttraining com
  • 合并 2 个大型 CSS 文件的有效方法

    我正在寻找一个可以合并 2 个大型 CSS 文件的工具 到目前为止我尝试过的所有方法 例如CSSMerge 都没有成功 其中一些只是随机删除属性 其他人则因 webkit 和 moz 等非标准属性而窒息 并给我错误 我还需要保留每条规则大小
  • 如何使用 Javascript 设置查询字符串

    有没有办法使用 javascript 设置查询字符串的值 我的页面有一个过滤器列表 单击该列表时 它将更改右侧的页内结果窗格 我正在尝试更新 url 的查询字符串值 因此如果用户离开页面 然后单击 后退 按钮 他们将返回到最后一个过滤器选择
  • CSS 到底如何计算相对尺寸

    我想更好地理解某些 CSS 行为 这与具体问题无关 我只是在调试网站时遇到的 让我们在固定位置的 div 中放置一个全宽图像 div img style width 100 src https via placeholder com 150
  • 如何计算特定字符在字符串中出现的次数

    我正在尝试创建一个函数来查看数组中的任何字符是否在字符串中 如果是 有多少个 我尝试计算每一种模式 但是太多了 我尝试使用 Python 中的 in 运算符的替代方案 但效果不佳 function calc fit element var
  • 使用 Google 日历源时如何禁用 FullCalendar 中的活动链接?

    我正在使用 FullCalendar 库从 Google 日历加载日历中的事件 不幸的是 事件添加到日历后 它们是可点击的 当您点击该活动时 您会自动重定向到 Google 日历页面以查看该特定活动 或者如果您有足够的访问权限 则可以直接对
  • LeafleteachLayer函数不会迭代所有Layer

    使用 GeoJSON 数据数组创建一些标记 getJSON GetLocationsServlet function data L geoJSON data onEachFeature onEachFeature addTo mymap G
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • Google Maps API (v3) 添加/更新标记

    编辑 它现在可以工作 但如果用户不允许或没有基于位置的服务 则不会加载 请参阅 jsfiddle 示例接受的答案评论 我已经浏览了一些教程和问题 但我无法安静地理解正在发生的事情 或者在这种情况下 没有发生 当用户单击链接时 我正在加载地图
  • 使用 Jade 评估自定义 javascript 方法 (CircularJSON)

    我想通过 Jade 将一个对象解析为客户端 JavaScript 通常这会起作用 script var object JSON parse JSON stringify object but my object is circular ht
  • 使用 next.js 进行服务器端渲染与传统 SSR

    我非常习惯 SSR 意味着页面得到完全刷新并从服务器接收完整 HTML 的方法 其中根据后端堆栈使用 razor pub other 进行渲染 因此 每次用户单击导航链接时 它只会向服务器发送请求 整个页面将刷新 接收新的 HTML 这就是
  • Webpack 4:如何使用 LESS 获取 CSS 源映射?

    多年来我一直在尝试让 CSS 源映射在 webpack 中工作 但没有成功 我不确定链条中哪里出了问题 我希望有人能指出我正确的方向 这是发生的事情 行号是错误的 实际上文件名也是错误的 main less只是包含一堆 import也就是说
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u
  • 仅当显式选择行时才关闭 ui-bootstrap typeahead

    我创建了这个jsBin http jsbin com livuqafe 2 edit来证明我遇到的问题 如果您转到此处 请尝试输入 五 并继续 你的自然反应是输入 五 然后按 Tab 如果你想要 五百 你可以向下箭头一次 但是 在这种情况下
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供

随机推荐

  • HTML5 中的交互式平面图 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我必须为公寓楼开发交互式平面图导航器和查看器 它将继承其基于 Flash 的前身 我现在正在评估最适合在 HTML5 中实现这一点的技巧和技术
  • Laravel 中的attach()方法有什么用?

    我不知道这个方法有什么用 我在某人的代码上看到了这样的东西 user JWTAuth parseToken gt authenticate new car new Car new car gt name request gt name ne
  • MyBatis - ResultHandler 未被调用

    我按照这个例子 https code google com p mybatis wiki ResultHandlerExample https code google com p mybatis wiki ResultHandlerExam
  • NSUserDefaults registerDefaults 如何工作? [复制]

    这个问题在这里已经有答案了 当我设置 registerDefaults 时application didFinishLaunchingWithOptions 我通过应用程序设置了 NSUserDefaults 的默认值 NSMutableD
  • Web API 2 RequireHttps 允许 http 连接

    我在 MVC Web API 2 控制器中创建了以下操作 ResponseType typeof int RequireHttps public IHttpActionResult SaveLead EcommerceLead lead 但
  • 使用 Django 提供动态生成的图像

    如何在 Django 中提供动态生成的图像 我有一个 html 标签 img src images dynamic chart png 链接到此请求处理程序 该处理程序创建内存中图像 def chart request img Image
  • java: apache HttpClient > 如何禁用重试

    我在网站上使用 Apache Httpclient 进行 Ajax 调用 在某些情况下 对外部 Web 服务的请求会失败 通常会出现以下情况 处理请求时捕获的 I O 异常 java net ConnectException 连接超时 连接
  • 如何使用管道在两个程序之间发送简单的字符串?

    我尝试在网上搜索 但几乎没有任何资源 一个小例子就足够了 编辑 我的意思是 两个不同的 C 程序相互通信 一个程序应该发送 Hi 另一个程序应该接收它 类似的事情 常规管道只能连接两个相关的进程 它是由一个进程创建的 当最后一个进程关闭它时
  • 使用 Android DateUtils API 在 Android 中将相对日期格式化为人类可读的格式

    我有一个日期字段 lastUpdated 我想将此日期翻译为人类可读的格式 例如 今天 1 天前 2 天前 我在用android text format DateUtils http developer android com refere
  • 错误:找不到资源整数/google_play_services_version(又名应用程序:整数/google_play_services_version)

    编译或运行项目时出现错误 我想计算我行驶的距离 我的Android studio版本是Android Studio 3 1 4 当我在 build gradle Model app 中添加以下库时 会发生此错误 implementation
  • JavaFx 2.x:如何在图表上写入文本?

    通过在图表上单击鼠标左键 我想通过创建文本区域矩形来写入文本 以便能够调整大小和移动 任何帮助真的很感激 Edit 嗨 sarcan 非常感谢您的友好回复 我尝试了你的代码 它编译并绘制了带有注释的面积图 非常出色的工作 我现在需要更改您的
  • 递增数字作为 Firestore 文档名称?

    基本上总结在标题中 我想让在特定集合中创建的每个新文档都具有增量排序的序列号 这是为了正确跟踪写入数据库的新订单 AutoID是随机的并会导致排序问题 我希望数据易于管理 这可以通过云功能实现吗 我可以查看任何示例代码片段吗 谢谢你 Use
  • 从 URL iOS 加载图像 [重复]

    这个问题在这里已经有答案了 我正在尝试从图像 URL 加载图像 我研究和尝试过的所有代码都发现了一些错误 其中很多与新的 ARC 兼容性有关 我需要将图像加载到图像视图中 任何帮助表示赞赏 Thanks 我将从这里改编吉姆 多维的回答从 U
  • 带预处理器的稀疏矩阵求解器

    我有一个scipy sparse csc matrix稀疏矩阵A形状的 N N where N是关于15000 A有小于1 非零元素 我需要解决Ax b尽可能节省时间 Using scipy sparse linalg spsolve大约需
  • 用 Go (golang) 编写 Ruby 扩展

    是否有一些关于如何在 Go 中编写 Ruby 扩展的教程或实践课程 Go 1 5 添加了对构建可从 C 因此可以通过 FFI 从 Ruby 调用的共享库的支持 这使得该过程比 1 5 之前的版本 当时需要编写 C 粘合层 更容易 并且 Go
  • 谷歌日历的 API OAuth Google 集成访问错误(来源不匹配)

    我正在将谷歌日历与 Angular UI 日历集成 以获取谷歌日历的事件数据 这是我的 HTML div div
  • 通过 JavaScript 迭代/解析 JSON 对象

    我在使用 jQuery Ajax JSON 时遇到问题 我正在使用 jQuery ajax post 像这样 ajax type POST dataType json url someurl com data cmd escape me c
  • Android 上的 XMLSchema 验证

    我维持JDOM项目 http www jdom org 我正在尝试在 Android 上 验证 它 大多数事情都工作正常 但 XML 模式验证却存在问题 我的问题是 有没有办法在 Android 上进行 XMLSchema 验证 如果有的话
  • jQuery - 分别处理同一类的多个实例?

    Goal 我正在尝试创建一个视差滚动 effect The 视差容器是这样实现的 lt div class parallax slide 1 gt lt div gt 我需要启动视差效果 当它的容器已滚动到视图中 一旦有了离开视图 效果需要
  • 使用 Bootstrap 响应表和 AngularJS 修复了第一列

    我整个上午都在努力解决这个 CSS 问题 但我似乎无法取得任何进展 基本上 我有一个水平滚动表 我使用了引导响应表 并且刚刚删除了媒体查询 因此它可以在所有屏幕尺寸下水平滚动 我使用 Angular 的 ng repeat 来循环标题数组和