を引き起こしこれはCSS3 Rotate on animated element causing click event not to invokeCSS3回転遷移は、断続的なマウスクリックの検出
と非常に同様の問題です。
チェックアウト私のサンドボックス:http://jsfiddle.net/5bsG3/2/
私は、マウスのホバーに、Y軸を中心に回転し、リンク内のスパンを持っています。 clickイベント(jQueryまたは単にリンクのナビゲーション用)が常に検出されるわけではありません。リンクのパッドのある領域をクリックしてみてください(テキストのすぐ上にありますが、リンク上)。スパンが回転しているため、マウスがスパンをクリックしていない角度であるため、ヒット検出に問題があるようです。マウスがまだLINKのパッドが置かれた領域をクリックしても。 70〜110度付近の角度が問題と思われます。
上記の記事の提案された解決策は、この問題を実際に修正するものではありません。また、JSインターバルトリガーの代わりにCSSのトランジションとしてローテーションが処理されるため、私の問題は多少異なるかもしれません。
どのような考えですか?誰もこれを見たことがありますか?私はこれがリンクを行うのチーズな方法だが、目標のウェブサイトのために、それは許容量のチーズです。
jsfiddleを簡単に簡略化して簡単に始め、問題を特定するためのデバッグ情報を追加しました。
HTML:
CSS:
ul li
{
display: inline;
float: left ;
}
.flip-link
{
float:left ;
}
span
{
float:left ;
}
.flip-link {
display: block;
overflow: hidden;
height: 20px;
padding: 5px 50px 7px 50px ;
margin-right: 10px ;
background: #AAA;
-webkit-perspective: 50px;
-moz-perspective: 50px;
-ms-perspective: 50px;
perspective: 50px;
-webkit-perspective-origin: 50% 50%;
-moz-perspective-origin: 50% 50%;
-ms-perspective-origin: 50% 50%;
perspective-origin: 50% 50%;
}
.flip-link span {
display: block;
position: relative;
background: #EEE;
padding: 0px 10px ;
-webkit-transition: all 1000ms ease;
-moz-transition: all 1000ms ease;
-ms-transition: all 1000ms ease;
transition: all 1000ms ease;
-webkit-transform-origin: 50% 0%;
-moz-transform-origin: 50% 0%;
-ms-transform-origin: 50% 0%;
transform-origin: 50% 0%;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
transform-style: preserve-3d;
}
.flip-link:hover span
{
-webkit-transform: translate3d(0px, 0px, 0px) rotateY(360deg);
-moz-transform: translate3d(0px, 0px, 0px) rotateY(360deg);
-ms-transform: translate3d(0px, 0px, 0px) rotateY(360deg);
transform: translate3d(0px, 0px, 0px) rotateY(360deg);
color: #55FF55 ;
}
JS:
var linkClickCount = 0 ;
var spanClickCount = 0 ;
$(document).ready(function() {
$('.flip-link').click(function() {
linkClickCount++ ;
$("#LinkCounter").text(linkClickCount);
return (false);
});
$('.flip-link span').click(function() {
spanClickCount++ ;
$("#SpanCounter").text(spanClickCount);
});
});
スパンが移行していない場合、マウスクリックがうまく動作することを忘れていました。静的な角度を設定した場合、リンクの埋め込まれた領域をクリックすると(テキストではなく)、クリックが検出されます。しかし、テキストが回転していれば、70〜110度前後のどこかで*一貫して*クリックを捕まえません。 –
アイテムがローテーション中にクリックを登録する必要がありますか?それは重要ですか? –
ええ、それはリンクなので、回転を待たずにリンクをクリックできるようにする必要があります。ローテーション中にクリックしてクリックが機能しない場合、リンクは単にクリックできないというのは自然な前提です。しかし、良い質問ですが、ライブ(ただし、あまり公表されていない)プロジェクトをここでチェックアウトしてください:www.trickspoke.com このライブサイトでは、移行はかなり速く、問題は最小限に抑えられています。 –