2017-04-06 96 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