के कारण यह CSS3 Rotate on animated element causing click event not to invokeCSS3 के रोटेशन संक्रमण रुक-रुक कर माउस क्लिक का पता लगाने
काफ़ी मिलती-जुलती मुद्दा हालांकि मेरी समस्या एक बालक अलग है, के साथ साथ जानकारी का समर्थन जोड़ने के लिए इस पर टिप्पणी नहीं कर सकता है।
Checkout मेरी सैंडबॉक्स: http://jsfiddle.net/5bsG3/2/
मैं एक लिंक जो Y अक्ष के चारों ओर घूमता है, माउस हॉवर पर अंदर एक अवधि है। क्लिक इवेंट (jQuery के लिए या बस लिंक नेविगेशन के लिए) हमेशा पता नहीं लगाया जाता है। लिंक के गद्देदार क्षेत्र पर क्लिक करने का प्रयास करें (बस पाठ से बाहर लेकिन लिंक पर)। यह लगभग है जैसे हिट डिटेक्शन के साथ कोई समस्या है क्योंकि अवधि कताई है और इस प्रकार कोणों पर जहां माउस अवधि पर क्लिक नहीं कर रहा है। भले ही माउस अभी भी लिंक के गद्देदार क्षेत्र पर क्लिक कर रहा हो। 70-110deg के आसपास कोण समस्या है।
उपरोक्त पोस्ट में प्रस्तावित समाधान वास्तव में इस मुद्दे को ठीक नहीं करता है। इसके अलावा, मेरी समस्या शायद एक टैड अलग हो क्योंकि मेरे घूर्णन को जेएस अंतराल ट्रिगर के बजाय सीएसएस संक्रमण के रूप में संभाला जाता है।
किसी भी विचार? क्या किसी ने इसे पहले कभी देखा है? मुझे पता है कि यह लिंक करने का एक प्यारा तरीका है लेकिन लक्ष्य वेबसाइट के लिए, यह एक स्वीकार्य राशि पनीर है।
jsfiddle को सरल बनाने के लिए स्वतंत्र महसूस करें, मैंने सरल शुरुआत की और समस्या की पहचान करने में सहायता के लिए कुछ डीबगिंग जानकारी जोड़ दी।
एचटीएमएल:
सीएसएस:
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 ;
}
जे एस:
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-110deg के आसपास, यह * लगातार * क्लिक को पकड़ नहीं लेता है। –
क्या आइटम रोटेशन में होने पर क्लिक पंजीकृत करने की आवश्यकता है? क्या यह महत्वपूर्ण है? –
हाँ, चूंकि यह एक लिंक है, इसलिए मुझे उपयोगकर्ता को रोटेशन खत्म होने की प्रतीक्षा किए बिना लिंक पर क्लिक करने में सक्षम होना चाहिए। यदि वे रोटेशन के दौरान क्लिक करते हैं और क्लिक काम नहीं करता है, तो प्राकृतिक धारणा यह है कि लिंक बस क्लिक करने योग्य नहीं है।लेकिन अच्छा सवाल है, यहां लाइव (लेकिन बहुत प्रचारित) परियोजना की जांच करें: www.trickspoke.com इस लाइव साइट के लिए, संक्रमण बहुत तेज़ है, समस्या को कम करता है - भले ही यह अभी भी है। –