- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有以下 CSS:
#pie .slice.rot1 {
-webkit-transform:rotate(0deg);
-moz-transform:rotate(0deg);
-m-transform:rotate(0deg);
-o-transform:rotate(0deg);
-transform:rotate(0deg);
}
#pie .slice.rot2 {
-webkit-transform:rotate(52.5deg);
-moz-transform:rotate(52.5deg);
-m-transform:rotate(52.5deg);
-o-transform:rotate(52.5deg);
-transform:rotate(52.5deg);
}
#pie .slice.rot3 {
-webkit-transform:rotate(104deg);
-moz-transform:rotate(104deg);
-m-transform:rotate(104deg);
-o-transform:rotate(104deg);
transform:rotate(104deg);
}
#pie .slice.rot4 {
-webkit-transform:rotate(154.5deg); /* (360 / 7) * 3 = 51.5 */
-moz-transform:rotate(154.5deg); /* (360 / 7) * 3 = 51.5 */
-m-transform:rotate(154.5deg); /* (360 / 7) * 3 = 51.5 */
-o-transform:rotate(154.5deg); /* (360 / 7) * 3 = 51.5 */
transform:rotate(154.5deg); /* (360 / 7) * 3 = 51.5 */
}
#pie .slice.rot5 {
-webkit-transform:rotate(204deg); /* (360 / 7) * 4 = 51.5 */
-moz-transform:rotate(204deg); /* (360 / 7) * 4 = 51.5 */
-m-transform:rotate(204deg); /* (360 / 7) * 4 = 51.5 */
-o-transform:rotate(204deg); /* (360 / 7) * 4 = 51.5 */
transform:rotate(204deg); /* (360 / 7) * 4 = 51.5 */
}
#pie .slice.rot6 {
-webkit-transform:rotate(254.5deg); /* (360 / 7) * 5 = 51.5 */
-moz-transform:rotate(254.5deg); /* (360 / 7) * 5 = 51.5 */
-m-transform:rotate(254.5deg); /* (360 / 7) * 5 = 51.5 */
-o-transform:rotate(254.5deg); /* (360 / 7) * 5 = 51.5 */
transform:rotate(254.5deg); /* (360 / 7) * 5 = 51.5 */
}
#pie .slice.rot7 {
-webkit-transform:rotate(307deg); /* (360 / 7) * 6 = 51.5 */
-moz-transform:rotate(307deg); /* (360 / 7) * 6 = 51.5 */
-m-transform:rotate(307deg); /* (360 / 7) * 6 = 51.5 */
-o-transform:rotate(307deg); /* (360 / 7) * 6 = 51.5 */
transform:rotate(307deg); /* (360 / 7) * 6 = 51.5 */
}
这基本上是根据您点击的部分/div 旋转图像。
我的图片目前是一个圆圈,有7个部分。当我加载我的页面时,类 .rot1 已经被选中。当我选择 .rot2 时,图像将旋转 52.5 度,反之亦然。
我的问题是当我以 360 度到达 .rot7,然后单击 .rot1,而不是图像向前旋转到 0 度,它会向后旋转并旋转 -360 度。
关于如何让它向前而不是向后旋转有什么想法吗?
干杯,丹
最佳答案
我选择使用一个类进行旋转,另一个类进行过渡。为了让脚本更简单,使用 2 个嵌套的 div,这样每个 div 中只有一个类。
HTML
<div id="pie" class="rotate">
<div id="pos" class="rot0">
<div class="rot0" onclick="myFunction(0)">1</div>
<div class="rot6" onclick="myFunction(1)">2</div>
<div class="rot5" onclick="myFunction(2)">3</div>
<div class="rot4" onclick="myFunction(3)">4</div>
<div class="rot3" onclick="myFunction(4)">5</div>
<div class="rot2" onclick="myFunction(5)">6</div>
<div class="rot1" onclick="myFunction(6)">7</div>
CSS
#pie {
width: 200px;
height: 200px;
left: 35px;
top: 35px;
position: absolute;
background-color: papayawhip;
border-radius: 50%;
}
#pos div {
background-color: lightblue;
left: 0px;
top: 100px;
width: 30px;
height: 30px;
position: absolute;
-webkit-transform-origin: 100px 0px;
border-radius: 50%;
}
#pos {
width: 100%;
height: 100%;
}
#pie .rot0 {
-webkit-transform:rotate(0deg);
-transform:rotate(0deg);
}
#pie .rot1 {
-webkit-transform:rotate(52.5deg);
-transform:rotate(52.5deg);
}
#pie .rot2 {
-webkit-transform:rotate(104deg);
transform:rotate(104deg);
}
#pie .rot3 {
-webkit-transform:rotate(154.5deg);
transform:rotate(154.5deg);
}
#pie .rot4 {
-webkit-transform:rotate(204deg);
transform:rotate(204deg);
}
#pie .rot5 {
-webkit-transform:rotate(254.5deg); /* (360 / 7) * 5 = 51.5 */
transform:rotate(254.5deg); /* (360 / 7) * 5 = 51.5 */
}
#pie .rot6 {
-webkit-transform:rotate(307deg); /* (360 / 7) * 6 = 51.5 */
transform:rotate(307deg); /* (360 / 7) * 6 = 51.5 */
}
.rotate1 {
-webkit-animation: circle1 2s 1 linear;
-webkit-transform-origin: 50% 50%;
}
@-webkit-keyframes circle1 {
from {-webkit-transform: rotateZ(-52.5deg)}
to {-webkit-transform: rotateZ(0deg)}
}
.rotate2 {
-webkit-animation: circle2 4s 1 linear;
-webkit-transform-origin: 50% 50%;
}
@-webkit-keyframes circle2 {
from {-webkit-transform: rotateZ(-104deg)}
to {-webkit-transform: rotateZ(0deg)}
}
.rotate3 {
-webkit-animation: circle3 6s 1 linear;
-webkit-transform-origin: 50% 50%;
}
@-webkit-keyframes circle3 {
from {-webkit-transform: rotateZ(-154.5deg)}
to {-webkit-transform: rotateZ(0deg)}
}
.rotate4 {
-webkit-animation: circle4 8s 1 linear;
-webkit-transform-origin: 50% 50%;
}
@-webkit-keyframes circle4 {
from {-webkit-transform: rotateZ(-204deg)}
to {-webkit-transform: rotateZ(0deg)}
}
.rotate5 {
-webkit-animation: circle5 10s 1 linear;
-webkit-transform-origin: 50% 50%;
}
@-webkit-keyframes circle5 {
from {-webkit-transform: rotateZ(-254deg)}
to {-webkit-transform: rotateZ(0deg)}
}
.rotate6 {
-webkit-animation: circle6 12s 1 linear;
-webkit-transform-origin: 50% 50%;
}
@-webkit-keyframes circle6 {
from {-webkit-transform: rotateZ(-307deg)}
to {-webkit-transform: rotateZ(0deg)}
}
还有 JavaScript
var pos=0;
function myFunction(newpos) {
var delta=newpos-pos;
if (delta < 0) { delta = delta + 7;}
pos=newpos;
document.getElementById("pos").className="rot"+newpos;
document.getElementById("pie").className="rotate"+delta;
document.getElementById("pie").addEventListener('webkitAnimationEnd', function(){
this.className='';
}, false);
}
关于css transform :rotate, 向前旋转而不是向后旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17046947/
我有一段这样的代码。我发现 myResults = writer.getBuffer().toString(); 对某些用例返回 EMPTY STRING,但对其他用例则不返回。 我查看了服务器,但在
如何使用 javascript 通过 id 更改元素中的 -webkit-transform 、-moz-transform 、-o-transform 和 -ms-transform css? 这段
我正在使用 javax.xml.transform.Transformer.transform() 通过 xsl 样式表将一个 xml 转换为另一个 xml。我想以编程方式设置第一级 child 的排
为了使 seaborn.pairplot() 正常工作,在 jupyter notebook 中执行了以下步骤。 /usr/local/lib/python2.7/site-packages/matp
假设这个输入 XML 编写这些代码行: StreamSource source = new StreamSource(new StringReader(/* the above XML*/));
如何在 spring 框架中配置 java.xml.transform.Transformer ?我需要转换器的实例来通过 xslt 将 xml 转换为文本。因此,配置的转换器应该了解 xslt 样式
我一直在核心数据中使用可转换属性,将图像和颜色等复杂对象转换为原始数据。我拿了this ... The idea behind transformable attributes is that you
我正在尝试打开 XML 文件,添加一些更改,然后保存到其他 XML 文件结果。我正在使用标准 javax.xml.parsers.* 和 javax.xml.transform* 类。 但在保存的文档
Transformer(变换方法)对输入源的大小有限制吗? 我正在尝试转换一个相当长的 (18M) XML,但收到一个奇怪的错误 "The element type "HR" must be term
我正在尝试解析一个非常简单的示例: 100 我使用的样式表如下: 这在 libxs
来自文档 for from_pretrained ,我知道我不必每次都下载预训练的向量,我可以使用以下语法保存它们并从磁盘加载: - a path to a `directory` contain
默认缓存目录磁盘容量不足,我需要更改默认缓存目录的配置。 最佳答案 您可以在每次加载模型时指定缓存目录 .from_pretrained通过设置参数cache_dir .您可以通过导出环境变量 TRA
有一个函数,例如: CATransform3DGetAffineTransform Returns the affine transform represented by 't'. If 't' ca
我有一个包含 WCF 设置的配置文件: “add”元素只有一个 baseAddress 属性,所以我不能使用 Match 定位器。一种方法如何像我的示例中那样转换多个元素? 最
在收到下面链接中描述的错误后,我已将实体属性的 Transfomer 设置为 NSSecureUnarchiveFromData(之前为 nil)。 CoreData crash error Xcod
当我写Document时使用 Transformer 的 transform() 方法转换为 XML,生成的 XML 文档的格式很好 - 所有元素都写在单独的行上并缩进。除了第一个元素与定义写在同一行
我不明白 StreamResult 实例会发生什么。我看到 Transformer 对象接收 source 和 streamResult: transformer.transform(sour
从下面的代码片段我应该得出结论,std::transform 比 boost::transform 更受欢迎,因为前者使用更少的初始化和析构函数可能更有效比后者? #include #include
transform() 可以将函数应用到序列的元素上,并将这个函数返回的值保存到另一个序列中,它返回的迭代器指向输出序列所保存的最后一个元素的下一个位置。 这个算法有一个版本和 for_each()
我是 react-native 的新手。在项目上将 react-native 从 0.48.3 升级到 0.62.2 后,运行“react-native run-ios”命令时出现错误:“index.
我是一名优秀的程序员,十分优秀!