在JavaScript中旋转块

时间:2010-04-26 18:43:00

标签: javascript

我想创建一个JavaScript Web应用程序,使用户可以拖动页面上的块。如果我使用具有背景颜色的DIV,则可以很容易地将它们旋转90度。

但是,如果我想任意旋转它们,我怎么能做到这一点?我宁愿不必使用Flash,图像,Java小程序或HTML5。 (我希望它是一个简单的DHTML应用程序,可能在后端有一个cgi脚本,但限制了我需要的插件数量。)

(编辑:可拖动的DIV不是困难的部分,我把它弄下来。这是我想要的想法。)

4 个答案:

答案 0 :(得分:5)

拖动很容易。见鲶鱼的答案。

但轮换?如果您不想采用任何这些技术,那么您几乎无法做到。遗憾。

WebKit(Safari,Chrome)和Mozilla(Firefox)实现了最佳解决方案:CSS声明。我假设有人可以通过Javascript操纵它们,就像其他一切一样。

-webkit-transform: rotate(-15deg);
-moz-transform: rotate(-15deg);

但是,考虑到您列出的所有不同限制(主要是HTML5),听起来您正在寻找可以在每个浏览器中运行的内容,因此该解决方案已经完成。你可以在<canvas>中取消它,虽然它也不是全局兼容的,但这很痛苦,而且我可能认为它是HTML5,无论如何。

所以,不要去。你几乎列出了所有可能使这成为可能的技术,因为它不是一个选择。要么没有跨浏览器兼容性,要么使用插件。

新网络即将推出。事情会更好。现在,处理它。

答案 1 :(得分:0)

您可以使用jquery UI来创建可拖动的块。

检查this

答案 2 :(得分:0)

嘿伙计。不幸的是,我从来没有见过或用javascript做过这个,我说有点担心,使用真正的javascript可能无法实现。

有一种方法可以使用CSS(3),但它与浏览器略有不同。

-moz-transform: rotate(-45deg);

和/或

-webkit-transform: rotate(90deg);

拖拽非常简单,难以从头开始构建,但只需谷歌搜索即可胜出。

如果你使用像jQuery或Prototype这样的东西,这些都应该很容易插入。

希望它有所帮助。

答案 3 :(得分:0)

鲶鱼在盒子周围拖动的答案是good and useful,但旋转会更加痛苦。

看一下示例here at css3please.com,它显示了一种跨浏览器兼容的方式。

看起来像一个很有前途的项目!