2017-04-06 47 views
1

我有一个时钟,每个手的话(例如:< P> WORD </P>),但因为他们通过180deg他们OFC上下颠倒。 它使用变换(如旋转)不会有大问题,但由于改造是唯一在正确的时间设定手我不能使用任何转换CSS会干扰翻转文本,而不CSS变换

通常翻转是否有任何其他方式当它通过180度时翻转文本?

CSS例子:

#shortHand{ 
    -webkit-transform: rotate(270deg); 
    transform: rotate(270deg); 
    -webkit-transform-origin: 10% 70%; 
    transform-origin: 0% 50%; } 

JavaScript示例设置时间:

shortHand.style.transform = `rotate(${currH}deg)`; 
+1

你能详细阐述一下你的例子吗?一些更多的代码来复制实际的状态? – DaniP

+1

在180度之前使用一个元素,在180度时使用另一个元素,在180度时使用另一个元素,在当时只显示一个元素 – Justinas

+0

@DaniP Miguel使用缩放而不是旋转时有一个很好的答案,我在Google上看到了这一点,但它不起作用因为我忘了将比例从1 - > -1反过来,反之亦然 – LuckyXII

回答

1

这将每一次翻转文本它击中180度:

HTML

<div id="shortHand"> 
    <span>word</span> 
</div> 

CSS

#shortHand { 
    transform: rotate(270deg); 
    transform-origin: 0% 50%; 
} 

#shortHand span { 
    display: inline-block; 
} 

JS

var shortHand = document.querySelector('#shortHand'); 
var shortHandWord = document.querySelector('#shortHand span'); 

var deg = 270; 
var i = -1; 

setInterval(function() { 
    shortHand.style.transform = `rotate(${deg}deg)`; 

    if (deg % 180 === 90) { 
    i *= -1; 
    shortHandWord.style.transform = `scale(${i})`; 
    } 

    deg++; 
}, 10); 

的jsfiddle演示:https://jsfiddle.net/8nr98381/6/

+0

++不错,也许有一个过渡会窒息https://jsfiddle.net/8nr98381/7/ – DaniP

+0

我尝试了跨度和比例,但忘记了反转“我”然后放弃了。通过一些修改,它可以按照预期工作,干杯! – LuckyXII

+0

按照https://jsfiddle.net/8nr98381/8/,这将继续无限期上升。这在实践中是一个问题吗? – Shadow