热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于jquery:左右旋转不按预期工作

RotateLeftandRightNotWorkingasExpected我


Rotate Left and Right Not Working as Expected


我有一个 div,我添加了两个 span 和一个按钮,这些 span 用于将 div 向左旋转和向右旋转。
右侧跨度称为向右旋转,左侧跨度称为向左旋转,它们是名为 table 的父 div 的子级。




1
2
3
   
   
   

这会产生以下 div。

enter

这也是表格的 CSS,以防表格的 css 与我的 Transform 语句发生冲突。




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
.square4 {
  cursor: move;
  width: 133px;
  height: 133px;
  position: absolute !important;
  background-image: url(parts/table4.png);
  background-repeat: no-repeat;
  background-position: center center;
  font-size: 17px;
  font-weight: bold;
  color: #00f;
  border: 1px solid #ccc;
  border-radius: 6%;
  -moz-border-radius: 6%;
  -webkit-border-radius: 6%;
  left: 741px;
  top: -141px;
}

当用户单击左或右时,父 div 应该旋转 15 度,但是当我单击右旋转时没有任何反应,当我单击左旋转时,它会将度数设置为旋转 0,这是第一个值而不是我需要的价值。我将我的值设置为从 0 到 360 度的数组,每次单击右旋转时它们会上升 15 度,如果单击左旋转则返回 15 度。

使用 JQuery UI 将 div 附加到名为 mainarea 的可放置元素,这就是我使用 .on click 的原因。检测到点击,它只是我遇到问题的转换。

我检查了 Array 和按钮单击以确保它们正常工作,我使用 console.log 检查 angle[current] 并返回了正确的值,我相信这与我的 transform 语句和我是如何设置它的,我尝试了不同的方法但没有运气。

我正在使用 Elementor,所以我的 document.ready 与通常的方式有点不同,但这是因为 Elementor 的工作方式,如果您想对其进行测试,您可以将其更改为文档就绪语句,但是我想显示我的确切代码。




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
document.addEventListener("DOMContentLoaded", function(event)
{
    var angle = [0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195, 210, 225, 240, 255, 270, 285, 300, 315 , 330, 345, 360];
    var current = 0;
   jQuery(document).on('click','.table > .rotateright',function(event)
    {
       current++;
        if(current == 25)
        {
            current = 0;
        }
       var r = jQuery(this).parents('.table').attr('id');
       var rotating = '#'.concat(r);
       console.log(angle[current]);
       jQuery(rotating).css({
          '-webkit-transform' : 'rotate(' + angle[current] + ')',
          '-moz-transform'    : 'rotate(' + angle[current] + ')',
          '-ms-transform'     : 'rotate(' + angle[current] + ')',
          '-o-transform'      : 'rotate(' + angle[current] + ')',
          'transform'         : 'rotate(' + angle[current] + ')'
        });
   });
    jQuery(document).on('click','.table > .rotateleft',function(event)
    {
        current--;
        if(current == -1)
        {
            current = 24;
        }
       var r = jQuery(this).parents('.table').attr('id');
       var rotating = '#'.concat(r);
        console.log(angle[current]);
       jQuery(rotating).css({
          '-webkit-transform' : 'rotate(' + angle[current] + ')',
          '-moz-transform'    : 'rotate(' + angle[current] + ')',
          '-ms-transform'     : 'rotate(' + angle[current] + ')',
          '-o-transform'      : 'rotate(' + angle[current] + ')',
          'transform'         : 'rotate(' + angle[current] + ')'
        });
    });
});



相关讨论



  • 你能提供一个工作演示片段,不能用上面的代码重现片段吗


  • jsfiddle.net/53rajoky/1


  • 我的字面意思是一个工作小提琴,而不是复制粘贴代码:)


  • 它不工作所以我怎么能做一个工作小提琴?如果它对我不起作用并且我正在寻求帮助,我所能做的就是将代码放入我已经放在这里的代码中。


  • 即使小提琴没有运行,什么也看不到,我们为您执行此操作,或为您修复错误??


  • 奇怪的是,我检查了小提琴,我不需要你为我做这件事,我只是需要一些帮助来找出我们的错误。


  • 稍后我会看看小提琴并发送带有错误的工作小提琴,对不起,我试图在我的手机上做。





您在分配新的旋转 CSS 时缺少 CSS 中的"度"("angular[当前]"度)

我只修改了右旋转的代码(我没有改变左的代码,可以像右一样改变),这里见 jsfiddle

小片段如下




1
2
3
4
5
6
7
 $('#table1').css({
               ' -webkit-transform': 'rotate('+ angle[current]+' deg)',
                '-moz-transform': 'rotate('+ angle[current]+' deg)',
                '-o-transform': 'rotate('+ angle[current]+'deg)',
                 '-ms-transform': 'rotate('+ angle[current]+'deg)',
                  'transform': 'rotate('+ angle[current]+'deg)'}
    );

并且正确的跨度将其保持在目标 div 之外,因为它将随着主 div 旋转而旋转



相关讨论



  • 天哪,就是这样,我怎么没注意到,一旦我把 deg 声明放进去,声明就很好了。


  • 我已经为你的答案投票了,非常感谢,这就是你在午夜编码时会发生的事情哈哈


  • @JayDJohno 哈哈,欢迎你也可以接受这个答案,快乐编码








推荐阅读
  • 在HTML5应用中,Accordion(手风琴,又称抽屉)效果因其独特的展开和折叠样式而广泛使用。本文探讨了三种不同的Accordion交互效果,通过层次结构优化信息展示和页面布局,提升用户体验。这些效果不仅增强了视觉效果,还提高了内容的可访问性和互动性。 ... [详细]
  • 在本文中,我们将深入探讨 jQuery 中的 DOM 操作与事件处理技术,通过实现类似 Yahoo 邮箱登录框的提示效果来展示其强大功能。我们将详细介绍如何利用简洁的 jQuery 代码提升用户体验,并分享一些实用的示例。同时,我们还会解析这些示例中涉及的具体操作和事件处理方法。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • 本文详细解析了 Yii2 框架中视图和布局的各种函数,并综述了它们在实际开发中的应用场景。通过深入探讨每个函数的功能和用法,为开发者提供了全面的参考,帮助他们在项目中更高效地利用这些工具。 ... [详细]
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 如何使用ES6语法编写Webpack配置文件? ... [详细]
  • 为开发者提供了一系列实用的参考网站和资源链接,包括HTML速查手册( 和 ),帮助开发者快速查找和学习相关技术知识。此外,还涵盖了其他重要的开发工具和文档,为编程工作提供全面支持。 ... [详细]
  • 在处理木偶评估函数时,我发现可以顺利传递本机对象(如字符串、列表和数字),但每当尝试将JSHandle或ElementHandle作为参数传递时,函数会拒绝接受这些对象。这可能是由于这些句柄对象的特殊性质导致的,建议在使用时进行适当的转换或封装,以确保函数能够正确处理。 ... [详细]
  • 每日前端实战:148# 视频教程展示纯 CSS 实现按钮两侧滑入装饰元素的悬停效果
    通过点击页面右侧的“预览”按钮,您可以直接在当前页面查看效果,或点击链接进入全屏预览模式。该视频教程展示了如何使用纯 CSS 实现按钮两侧滑入装饰元素的悬停效果。视频内容具有互动性,观众可以实时调整代码并观察变化。访问以下链接体验完整效果:https://codepen.io/comehope/pen/yRyOZr。 ... [详细]
  • 深入解析InnoDB中的多版本并发控制机制
    多版本并发控制(MVCC)是InnoDB存储引擎中的一项关键技术,通过维护数据在不同时间点的多个版本,确保了事务的隔离性和一致性。每个读取操作都能获得一个与事务启动时一致的数据视图,从而提高了并发性能并减少了锁竞争。此外,MVCC还支持多种隔离级别,如可重复读和读已提交,进一步增强了系统的灵活性和可靠性。 ... [详细]
  • 在 Vue 中,可以通过 `ref` 属性精确控制滚动条的位置。具体来说,使用 `ref` 获取 DOM 元素,并通过事件处理函数(如点击事件)来调整滚动条的滚动距离。需要注意的是,直接使用 `$refs` 可能不会立即生效,因此需要确保在适当的生命周期钩子或异步操作中进行操作。此外,结合 `nextTick` 方法可以确保 DOM 更新完成后再执行滚动操作,从而实现更稳定的控制效果。 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • 期末Web开发综合实践项目:运用前端技术打造趣味小游戏体验
    期末Web开发综合实践项目中,学生通过运用HTML、CSS和JavaScript等前端技术,设计并实现了一款趣味性十足的小游戏。该项目不仅检验了学生对前端基础知识的掌握情况,还提升了他们的实际操作能力和创意设计水平。视频链接展示了项目的最终成果,直观呈现了游戏的互动性和视觉效果。 ... [详细]
  • 可转债数据智能抓取与分析平台优化
    本项目旨在优化可转债数据的智能抓取与分析平台。通过爬取集思录上的可转债信息(排除已发布赎回的债券),并结合安道全教授提出的三条安全线投资策略,新增了建仓线、加仓线和重仓线,以提供更精准的投资建议。 ... [详细]
author-avatar
mk艾草_180
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有