【问题标题】:How to scroll input-box text like marquee on hover?如何在悬停时滚动输入框文本,如选取框?
【发布时间】:2023-04-03 11:54:01
【问题描述】:

我想实现这种功能。

  1. 一个输入框
  2. <input type="text" value="this is sample text larger then input box" style="width: 100px;" />
  3. 它看起来像:

  4. 文本未完全显示。所以我希望当鼠标悬停在这个输入框上时,文本应该像输入框内的选框标签一样自动缓慢滚动

  5. 我是在 Angular 中实现的,所以如果有任何与 Angular 相关的解决方案(hack)比如替换元素,那么也请提及。

  6. 如果有任何可用的解决方案(使用 js 或 jquery 或 css),请帮助我。

【问题讨论】:

  • 尝试使用 contenteditable div 并在鼠标悬停时滚动
  • 你有一个 Shiv 发布的解决方案。请将其标记为答案。我认为这正是您所需要的

标签: css angular scroll marquee inputbox


【解决方案1】:

此链接将帮助您找到答案,它也适用于文本框中 根据您的需要定制

Marquee Example

$(document).ready(function() {
  var interval_val = 2;
  var timeout_ = null;
  $(".scroll_contant").on("mouseover", function() {
    var this_ = this;
    timeout_ = setInterval(function() {
      $(this_).scrollLeft(interval_val);
      interval_val++;
    }, 100);
  });

  $(".scroll_contant").on("mouseout", function() {

    clearInterval(timeout_);
    $(this).scrollLeft(0);
  });

})
.scroll_contant {
  overflow: hidden;
  width: 200px;
  background: red;
  white-space: nowrap;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class="scroll_contant" type="text" value="Display the current time (the setInterval() method will execute the function once every 1 second, just like a digital watch). Use clearInterval() to stop time:" />

【讨论】:

  • 这不能回答问题。不要只是张贴没有解释的链接。
  • 如果是的话,它是否在输入框上工作,那么至少显示一个 jsfiddle
  • 在示例中,只需复制并粘贴此代码并查看结果
  • 完美。只需将其放在您的答案中并请求 OP 将其标记为答案
猜你喜欢
  • 2018-11-05
  • 1970-01-01
  • 2011-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多