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

html怎么让div一直旋转,如何旋转divHtml图层?

4个答案:答案0:(得分:7)您可以使用cssSandpaper来使用transform属性,该属性可用于旋转Gecko(Firefox),

4 个答案:

答案 0 :(得分:7)

您可以使用cssSandpaper来使用transform属性,该属性可用于旋转Gecko(Firefox),WebKit(Safari,Chrome),Opera甚至Internet Explorer中的元素。

答案 1 :(得分:2)

答案 2 :(得分:1)

//

// Rotate a

element

//

// - DIV position must be absolute or relative

// - Will use the center point of DIV as origin for tilt

//

// I think it will work on most browsers (including ie6, ie7 & ie8)

//

function divRotate( divObj, divTop, divLeft, divHeight, divWidth, newAngleDeg )

{

var radAngle = Math.PI * newAngleDeg / 180;

var spinAngle = radAngle;

if ( window.navigator.userAgent.indexOf ( &#39;MSIE &#39; ) <&#61; 0 || typeof document.documentElement.style.opacity!&#61;&#39;undefined&#39; )

radAngle &#61; -radAngle;

var sinAngle &#61; parseFloat(parseFloat(Math.sin(radAngle)).toFixed(8));

var cosAngle &#61; parseFloat(parseFloat(Math.cos(radAngle)).toFixed(8));

var m11 &#61; cosAngle;

var m12 &#61; -sinAngle;

var m21 &#61; sinAngle;

var m22 &#61; cosAngle;

if ( window.navigator.userAgent.indexOf ( &#39;MSIE &#39; ) <&#61; 0 || typeof document.documentElement.style.opacity!&#61;&#39;undefined&#39; )

{

divObj.style.WebkitTransform &#61; &#39;matrix(&#39;&#43; m11 &#43;&#39;,&#39;&#43; m12 &#43;&#39;,&#39;&#43; m21 &#43;&#39;,&#39;&#43; m22 &#43;&#39;,&#39; &#43; 0 &#43; &#39;,&#39; &#43; 0 &#43; &#39;)&#39;;

divObj.style.MozTransform &#61; &#39;matrix(&#39;&#43; m11 &#43;&#39;,&#39;&#43; m12 &#43;&#39;,&#39;&#43; m21 &#43;&#39;,&#39;&#43; m22 &#43;&#39;,&#39; &#43; 0 &#43; &#39;px,&#39; &#43; 0 &#43; &#39;px)&#39;;

divObj.style.msTransform &#61; &#39;matrix(&#39;&#43; m11 &#43;&#39;,&#39;&#43; m12 &#43;&#39;,&#39;&#43; m21 &#43;&#39;,&#39;&#43; m22 &#43;&#39;,&#39; &#43; 0 &#43; &#39;,&#39; &#43; 0 &#43; &#39;)&#39;;

divObj.style.OTransform &#61; &#39;matrix(&#39;&#43; m11 &#43;&#39;,&#39;&#43; m12 &#43;&#39;,&#39;&#43; m21 &#43;&#39;,&#39;&#43; m22 &#43;&#39;,&#39; &#43; 0 &#43; &#39;,&#39; &#43; 0 &#43; &#39;)&#39;;

divObj.style.transform &#61; &#39;matrix(&#39;&#43; m11 &#43;&#39;,&#39;&#43; m12 &#43;&#39;,&#39;&#43; m21 &#43;&#39;,&#39;&#43; m22 &#43;&#39;,&#39; &#43; 0 &#43; &#39;,&#39; &#43; 0 &#43; &#39;)&#39;;

divObj.style.top &#61; divTop &#43; &#39;px&#39;;

divObj.style.left &#61; divLeft &#43; &#39;px&#39;;

return;

}

var sinSpinAngle &#61; -parseFloat(parseFloat(Math.sin(-spinAngle)).toFixed(8));

var cosSpinAngle &#61; parseFloat(parseFloat(Math.cos(-spinAngle)).toFixed(8));

var sinAnglePerp &#61; parseFloat(parseFloat(Math.sin(radAngle-Math.PI)).toFixed(8));

var cosAnglePerp &#61; parseFloat(parseFloat(Math.cos(radAngle-Math.PI)).toFixed(8));

var halfHeight &#61; divHeight/2;

var halfWidth &#61; divWidth/2;

var radius &#61; Math.sqrt(halfHeight*halfHeight &#43; halfWidth*halfWidth);

var ulx &#61; divLeft &#43; halfWidth - radius*cosSpinAngle &#43; sinAnglePerp*halfHeight;

var uly &#61; divTop &#43; halfHeight - radius*sinSpinAngle &#43; cosAnglePerp*halfHeight;

var urx &#61; radius*cosSpinAngle &#43; divLeft &#43; halfWidth &#43; sinAnglePerp*halfHeight;

var ury &#61; radius*sinSpinAngle &#43; divTop &#43; halfHeight &#43; cosAnglePerp*halfHeight;

var lrx &#61; radius*cosSpinAngle &#43; divLeft &#43; halfWidth - sinAnglePerp*halfHeight;

var lry &#61; radius*sinSpinAngle &#43; divTop &#43; halfHeight - cosAnglePerp*halfHeight;

var llx &#61; divLeft &#43; halfWidth - radius*cosSpinAngle - sinAnglePerp*halfHeight;

var lly &#61; divTop &#43; halfHeight - radius*sinSpinAngle - cosAnglePerp*halfHeight;

divObj.style.filter &#61; "filter: progid:DXImageTransform.Microsoft.Matrix( M11&#61;"&#43;m11&#43;", M12&#61;"&#43;m12&#43;", M21&#61;"&#43;m21&#43;", M22&#61;"&#43;m22&#43;", sizingMethod&#61;&#39;auto expand&#39; );";

var spinTop &#61; Math.min( uly, ury, lry, lly );

var spinRight &#61; Math.max( ulx, urx, lrx, llx );

var spinBottom &#61; Math.max( uly, ury, lry, lly );

var spinLeft &#61; Math.min( ulx, urx, lrx, llx );

divObj.style.top &#61; spinTop &#43; &#39;px&#39;;

divObj.style.right &#61; spinRight &#43; &#39;px&#39;;

divObj.style.bottom &#61; spinBottom &#43; &#39;px&#39;;

divObj.style.left &#61; spinLeft &#43; &#39;px&#39;;

}

答案 3 :(得分&#xff1a;0)




推荐阅读
  • HTML5 Web存储技术是许多开发者青睐本地应用程序的重要原因之一,因为它能够实现在客户端本地存储数据。HTML5通过引入Web Storage API,使得Web应用程序能够在浏览器中高效地存储数据,从而提升了应用的性能和用户体验。相较于传统的Cookie机制,Web Storage不仅提供了更大的存储容量,还简化了数据管理和访问的方式。本文将从基础概念、关键技术到实际应用,全面解析HTML5 Web存储技术,帮助读者深入了解其工作原理和应用场景。 ... [详细]
  • 在今天的实践中,我深入学习了网页图像抓取技术,通过编写爬虫程序批量获取网站上的图片资源。具体来说,我选择了一个包含大量高质量图片的网站作为练习对象,并成功实现了将这些图片批量下载到本地存储。这一过程不仅提升了我对爬虫技术的理解,还增强了我的编程能力。 ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本文探讨了如何通过检测浏览器类型来动态加载特定的npm包,从而优化前端性能。具体而言,仅在用户使用Edge浏览器时加载相关包,以提升页面加载速度和整体用户体验。此外,文章还介绍了实现这一目标的技术细节和最佳实践,包括使用User-Agent字符串进行浏览器识别、条件加载策略以及性能监控方法。 ... [详细]
  • 在第10天的夜灵HTML日志中,我们深入探讨了浏览器兼容性和高级选择器的应用。CSS3引入了许多新属性,但在旧版浏览器中的支持情况并不理想。然而,目前主流浏览器的最新版本已全面支持这些新特性。对于那些不支持CSS3新属性的浏览器,我们提供了多种解决方案,以确保网站在不同环境下的兼容性和用户体验。此外,我们还详细讨论了如何利用高级选择器提升页面布局的灵活性和可维护性。 ... [详细]
  • 为了实现跨浏览器兼容的禁用文本选择功能,可以通过在全局CSS样式中定义一个特定的类来禁止用户选中文本。具体做法是在全局样式表中添加一个名为 `.no-select` 的类,并在需要禁用文本选择的元素上应用该类。这样可以确保在不同浏览器中都能达到一致的效果。此外,还可以结合JavaScript进一步增强用户体验,例如在某些交互场景下动态启用或禁用文本选择功能。 ... [详细]
  • CSS中的pointer-events属性详解与应用
    在CSS中,`pointer-events`属性是一个非常实用但常被忽视的功能。它主要用于控制元素是否响应鼠标事件。当一个元素覆盖在其他元素之上时,通过设置`pointer-events`属性,可以决定该元素是否能够接收鼠标点击、悬停等交互操作,从而实现更灵活的用户界面设计。例如,将`pointer-events`设置为`none`可以使元素透明地传递鼠标事件,方便实现复杂的叠加效果和交互逻辑。 ... [详细]
  • 本文介绍了使用 Python 编程语言高效抓取微博文本和动态网页图像数据的方法。通过详细的示例代码,展示了如何利用爬虫技术获取微博内容和动态图片,为数据采集和分析提供了实用的技术支持。对于对网络数据抓取感兴趣的读者,本文具有较高的参考价值。 ... [详细]
  • 【Python爬虫实操】 不创作小说,专精网站内容迁移,超高效!(含源代码)
    本文详细介绍了如何利用Python爬虫技术实现高效网站内容迁移,涵盖前端、后端及Android相关知识点。通过具体实例和源代码,展示了如何精准抓取并迁移网站内容,适合对Python爬虫实战感兴趣的开发者参考。 ... [详细]
  • 在前一篇文章中,我们介绍了如何使用Requests库发送GET请求。本文将深入探讨如何通过Requests库发送POST请求,包括参数格式、请求封装等关键技巧,并通过“历史上的今天”API实例进行详细说明。 ... [详细]
  • Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • 在HTML5应用中,Accordion(手风琴,又称抽屉)效果因其独特的展开和折叠样式而广泛使用。本文探讨了三种不同的Accordion交互效果,通过层次结构优化信息展示和页面布局,提升用户体验。这些效果不仅增强了视觉效果,还提高了内容的可访问性和互动性。 ... [详细]
author-avatar
手机用户2502931823
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有