变换scaleX并保持固定的右侧位置

2024-01-16

使用jquery缩放一些文本mousemove但不知道如何使右侧的单词(h2)从固定的右侧位置向左侧扩展。相反,它总是从单词的左边缘开始缩放。

我希望这两个单词组合起来始终填充窗口的宽度,当光标向左移动时,左侧单词(h1)缩小,右侧单词(h2)增大,反之亦然。

还有一个问题是,我使用一些脚本将每个单词缩放到 document.ready 上窗口宽度的 50%,但正确的单词 (h2) 又根据 css 字体大小从其原始位置缩放,因此缩小了这一页。

Using text-align: right没有影响。如何将正确的单词保留在窗口中并向左扩展?jsFiddle https://jsfiddle.net/MilkyTech/6195vcaw/4/

var originwidth = $('h1').width()
var originheight = $('h1').height()
var origh1scalex = $(window).width()/2 / $('h1').width()
var origh2scalex = $(window).width()/2 / $('h2').width()

$(function() {    
  $('h1').css('transform', 'scaleX(' + origh1scalex + ')'); 
  $('h2').css('transform', 'scaleX(' + origh1scalex + ')');
});

$(document).on('mousemove', function(event) {
  var scaleX = event.pageX / originwidth
  var scaleY = event.pageY / originheight

  $('h1').css('transform', 'scale(' + scaleX + ',' + scaleY + ')')
})

var originwidth = $('h2').width()
var originheight = $('h2').height()

$(document).on('mousemove', function(event) {
  var scaleX = ($(window).width() - event.pageX) / originwidth
  var scaleY = event.pageY / originheight

  $('h2').css('transform', 'scale(' + scaleX + ',' + scaleY + ')')
})
h1,
h2 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

hgroup {
  display: block;
}

body {
  line-height: 1;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body {
  font-family: Arial;
  font-size: 32px;
  line-height: 1.5;
  background-color: #ffdc00;
  color: #333333;
}

h1 {
  font-size: 5vw;
  font-weight: 700;
  position: fixed;
  top: 0;
  left: 0;
  transform-origin: 0 0;
}

h2 {
  font-size: 5vw;
  font-weight: 700;
  position: fixed;
  top: 0;
  right: 0;
  transform-origin: 0 0;
  text-align: right;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h1>LSNR.B</h1>
<h2>DESIGN</h2>

我做了一些改进,结果如下:https://codepen.io/adelriosantiago/pen/RwryoLj?editors=1010 https://codepen.io/adelriosantiago/pen/RwryoLj?editors=1010

问题是缺失的transform-origin: top right;关于H2的CSS。这将设置进行所有平移、缩放和旋转的原点。

Also originwidth需要在里面计算mousemove事件,因为每次计算变换时它都会发生变化。

其他一些改进包括:

  • 只有一个mousemove现在使用事件。
  • 字符串模板文字 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals like scale(${ scaleX }, ${ scaleY })使用它们是为了更容易辨别字符串是如何构建的。

这个进一步的版本允许在第一次加载页面时设置尺寸,并且不需要mousemove事件已经发生:https://codepen.io/adelriosantiago/pen/vYLjybR?editors=0111 https://codepen.io/adelriosantiago/pen/vYLjybR?editors=0111

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

变换scaleX并保持固定的右侧位置 的相关文章

  • 悬停时从下到上填充按钮背景,从下到上填充文本颜色

    我需要创建按钮 并且在悬停时它不仅必须从下到上填充背景颜色 而且还必须从下到上更改文本颜色 我对这里的方法很满意 CSS 悬停时背景从下到上填充 https stackoverflow com questions 51562340 css
  • jquery 聚焦/聚焦

    我想要的是将 active 类添加到输入焦点上的输入 当焦点关闭时 删除该类 Thank s 一旦你包含了 jquery 库 它就非常标准了 input focus function this addClass active input b
  • jQuery 日期格式

    如何使用 jQuery 设置日期格式 我正在使用下面的代码但出现错误 txtDate val format date new Date dd M yy 请提出解决方案 在您的页面中添加 jquery ui 插件 txtDate val da
  • CSS 属性选择器类以以下开头但不等于

    我想将 css 应用于以 abcd 开头的所有类 但我不想将该 css 应用于名称为 abcd dontapply 的类 我可以这样做吗 我尝试过的 a class abcd not class abcd dontapply define
  • 使用 jQuery inputmask 插件范围 0-100

    如何创建 0 到 100 范围内的掩码 document ready function masked inputmask 您可以使用jquery inputmask regex extensions js为了那个原因 你可以找到带有所有扩展
  • jquery 上下文菜单插件 - 右键单击​​事件类型在哪里?

    我正在研究下面插件的代码 想知道它在何时何地与 右键单击 事件相关联 它所做的只是 插件参考链接 http www javascripttoolbox com lib contextmenu http www javascripttoolb
  • CSS 边框样式 INSET 或 GROOVE 看起来与 IE9 FF4 或 Safari5 或 Chrome2 非常不同

    抱歉 我是个白痴 但是当我尝试获得某种凹槽效果或插入效果作为边框样式时 我从不同的浏览器中得到了一些非常非常大的视觉结果 使用时 border 5px groove A00 or border 5px inset A00 Firefox 3
  • 对其中一个具有相同 tabindex 的焦点的所有元素应用相同的效果

    在我的上一篇文章中 我问了如何通过 css 选择器使不可聚焦的元素变得可聚焦 答案是使用tabindex 现在我希望 当具有选择器的元素获得焦点 单击 时 选择器选择的另一个元素也能获得效果 这可能听起来很奇怪 但我很久以前就可以不小心这样
  • 如何显示接下来的三个图像单击加载更多按钮

    我需要一个加载更多按钮来显示图像 页面加载时 我显示 3 个图像 单击 加载更多 按钮后 接下来的 3 个图像将显示在屏幕上 我尝试了下面的代码 但它不起作用 你能帮我解决这个问题吗 function item slice 0 2 show
  • Bootstrap 4 移动导航栏消失

    我刚刚从 Bootstrap 3 转换为 Bootstrap 4 但我的移动导航栏出现问题 使用切换按钮展开导航栏时 导航消失 我不明白为什么会发生这种情况 导航栏下方有一个大屏幕 但整个移动导航向上移动 如下面的 gif 所示 以下是导航
  • 使用 float:left 与 display:inline-block 的 jQuery UI 拖放排序比较

    我这里有两个例子 这两个例子之间的唯一区别是 一种使用display inline block 另一种使用float left li doc item 显示 内联块 与 li doc item float left 我的问题是 displa
  • .removeClass 从所有元素(相对于单个定义的元素)

    我将如何使用 removeClass 删除所有匹配的类 而不是单独调用每个元素 所以代替这个 input removeClass CO form alert select removeClass CO form alert input se
  • 返回视图作为 JSON 对象的一部分

    我有一个应用程序只加载一次完整视图 我这样做的原因并不重要 重要的是 其余内容只会以部分视图的形式返回 除了一些内容之外 我还有一些 JSON 对象 我想通过每个 AJAX 请求在服务器之间来回传递 有没有办法返回一个 JSON 对象 并将
  • 从链接打开本地文件夹

    如何通过单击任何链接打开本地文件夹视图 我尝试了很多选择 例如 a href Open folder a or a Open folder a or a Open folder a 解决方案 启动可下载链接 以下内容适用于所有浏览器 但一如
  • 如何在html中定义条件换行符?

    我希望这根绳子断在 如果需要的话 没有地方可以写了 7 380 Ft 159 Ft term kd jjal like 7 380 000 Ft 159 125 Ft term kd jjal 如何在html中实现这一点 nbsp 产生 错
  • WordPress 子主题包括包含文件

    我在一家WordPress使用 AMPPS 作为本地主机在我的本地计算机上进行设置 使用 Delta 主题 我创建了一个子主题 delta2 child 初始设置效果很好 但是 我需要更改包含文件夹中名为 home slider php 的
  • javascript - 如何获取对象名称或关联数组索引名称?

    我有一个像这样的 JSON 对象 var list name1 element1 value1 name2 element1 value2 如何提取所有 nameX 字符串值 例如 假设我想将它们连接在一个字符串中输出 例如 name1 n
  • 当php脚本通过ajax运行时显示进度条

    我有一个通过 ajax 向服务器提交值的表单
  • 为什么这些内联块元素会产生额外的宽度?

    这是这个问题的后续内容 仅使用 css 自动调整图像下的文本 https stackoverflow com questions 34185547 autofit text under image with only css 为什么这段代码
  • 将引导程序弹出框保留在视口内

    我正在尝试使用带有按钮的侧边栏创建一个菜单 每个按钮都有一个指定的包含相关数据的弹出窗口 不幸的是 其中一个弹出窗口可能包含任意数量的行 并且在某些情况下它可能部分位于视口之外 See http jsfiddle net bfd9f 1 h

随机推荐

  • 如何对“process.platform”的程序撒谎?

    有一个在 Node 上运行的 CLI 可以通过以下方式执行command在命令行上 在其代码中 通过以下方式对 Windows 用户停用了某些功能if process platform win32 process exit 1 现在我想禁用
  • 如何匹配特定的 io::Error 类型?

    我试图一次读入一个文件直到最后 2 个字节 并且我想捕获 EOF 错误 use byteorder BigEndian ReadBytesExt 1 3 4 use std fs File fn main let filename etc
  • 使用 ARM TrustZone 防止从非安全世界访问内存区域

    Context 我想拥有一个有钱人GNU Linux操作系统运行在正常的世界和一个带有集成的小型操作系统Monitor运行在安全世界 要求 我们必须绝对避免 the 正常的世界访问安全世界内存区域 Question 具有哪些特征信任区我们需
  • Typescript 和 __proto__ 属性

    因此 每次提到 proto 后通常都会提到 Brendan Eich 请求不要使用它 我一直在使用 Typescript 进行一些反射 使用它将类的原型链导航到提供的祖先类 并且希望注入保存类元数据的单个原型属性 有谁知道我可能产生的性能开
  • 为什么 fileOutputStream 在客户端-服务器应用程序中无法在空行(或换行符)之后输出任何字符串?

    在我的客户端 服务器应用程序中 当我尝试从服务器端下载文件时 该文件会被下载 但无法读取标题信息 例如一些带有换行符的附加文本 正如您在我的服务器类中看到的 以下信息应该在客户端打印出来 outputToClient printf Stat
  • 优秀的图书馆文档

    我在这里找到了很多推荐使用Excel图书馆用于编辑 Excel 文件 但我在任何地方都找不到任何文档 http code google com p excellibrary http code google com p excellibra
  • Qt 鼠标移动事件未被事件过滤器捕获

    我似乎无法在 eventFilter 中捕获 QEvent MouseMove 类型的事件 这是我的事件过滤器 bool MapWidget c eventFilter QObject obj QEvent ev if obj graphi
  • 如何使用主题文件自定义 ASP.NET 图表

    我想创建一个折线图 其中 x 轴是日期 y 轴上有绿色 0 位置 黄色 1 和红色 2 的位置 我怎样才能做到这一点 目前只有数字 我用 XML 尝试过 但我对它了解不多 而且有点令人困惑 我可以用它访问 y 轴的单个元素并将它们转换为文本
  • 将本地时间 (Java 8) 转换为日期

    我正在尝试转换java time LocalTime反对java util Date但找不到合适的方法 这样做的正确方法是什么 java 似乎没有内置直接转换方法 有什么原因吗 对于可能的重复项 如何换算乔达时间 https stackov
  • 在 WPF 中的网格中显示对其他控件的控件

    我正在开发一个 WPF 应用程序 主窗口的子控件包含在网格中 底行包含一个状态栏 应用程序必须通知用户 我想以编程方式在主窗口右下角的用户控件中显示通知 我希望通知用户控件显示在状态栏和上行中的控件上 如何在网格中包含的其他控件上显示一个控
  • 在网络浏览器中嵌入 Youtube 视频。对象不支持属性或方法

    YouTube 最近停止支持以 www youtube com v key 格式嵌入的视频 所以我试图将视频从 v 转换为 embed 但是 当我尝试导航到视频时 会弹出以下错误 我使用以下命令导航到该网页 WPF
  • 在C++中重载operator[],但要防止a[i]=one_special_specific_value

    我正在实现 Spare Vector ADT 并且想要重载运算符 我有一个 int 和 double 对的列表 我想通过例如创建新节点 5 3 5 a 5 3 5 但我想让它不可能为其中一个节点分配 0 值 因为它应该是一个备用向量 所以当
  • Android 设备:“new ServerSocket(6000)”上的权限被拒绝异常

    我收到 权限被拒绝 异常new ServerSocket 6000 在 Android 设备中 我读过很多帖子 其中说你必须把android permission INTERNET清单中的许可 我已经获得了此许可 并且仍然收到此消息 Non
  • 级联类型.ALL 不起作用

    我已在实体关系中设置了 CascadeType ALL 但每当我保留实体时 它都会部分起作用 前任 会员实体 OneToMany mappedBy member cascade CascadeType ALL private List
  • 对许多 PostgreSQL 查询进行基准测试

    在复杂的网页上会执行数百个查询 我正在寻找一种方法来对这些查询进行基准测试 我尝试嵌入解释分析进入查询resp 进入 psql 函数 选择每个查询的执行时间并进行比较 但解释分析似乎无法以任何方式嵌入 是否有其他解决方案来比较某些查询的执行
  • 从 .txt 中读取单词,并对每个单词进行计数

    我想知道如何像 fscanf 那样读取字符串 我需要在 all txt 中逐字阅读 我需要对每个单词进行计数 collectwords collections defaultdict int with open DatoSO txt r a
  • 正则表达式捕获分隔符之间的字符串

    In this https stackoverflow com questions 1454913 regular expression to find a string included between two characters wh
  • 使用什么数据库来存储和操作大数据?

    我必须决定为我的下一个项目使用哪个数据库服务器 但是像我所做的几乎所有项目一样使用 MySQL 的简单决定现在变得更加困难 因为我期望非常多的记录 数据库会存储一个用户列表 一些其他不相关的表 最后一个是一些用户收集的数据 比方说 如果我有
  • 使用 eXist-db 中的范围索引提高查询性能

    阅读文档http exist db org exist apps doc indexing xml http exist db org exist apps doc indexing xml我发现很难理解如何以及是否可以提高 读取 查询的性
  • 变换scaleX并保持固定的右侧位置

    使用jquery缩放一些文本mousemove但不知道如何使右侧的单词 h2 从固定的右侧位置向左侧扩展 相反 它总是从单词的左边缘开始缩放 我希望这两个单词组合起来始终填充窗口的宽度 当光标向左移动时 左侧单词 h1 缩小 右侧单词 h2