प्रदर्शन के अनुसार, मैं span
नरक की सिफारिश करता हूं। प्रत्येक h
, m
और s
पत्र के लिए
<span id="string"><span id="h">12</span><span class="h">h</span><span id="m">12</span><span class="m">m</span><span id="s">12</span><span class="s">s</span></span>
एक अवधि ताकि आप उन्हें ठीक से शैली दे सकते हैं (प्रत्येक के लिए या तो एक ही या अलग स्टाइल आवेदन कर सकते हैं)।
और प्रत्येक नंबर के लिए एक और अवधि ताकि आप संदर्भों को कैश कर सकें। संक्षेप में, यहाँ एक बहुत ही साधारण स्थानीय समय घड़ी के लिए एक जे एस है:
//cache number container element references
var h = document.getElementById('h'),
m = document.getElementById('m'),
s = document.getElementById('s'),
//IE feature detection
textProp = h.textContent !== undefined ? 'textContent' : 'innerText';
function tick() {
var date = new Date(),
hours = date.getHours(),
mins = date.getMinutes(),
secs = date.getSeconds();
h[textProp] = hours < 10 ? '0'+hours : hours;
m[textProp] = mins < 10 ? '0'+mins : mins;
s[textProp] = secs < 10 ? '0'+secs : secs;
}
tick();
setInterval(tick, 1000);
Fiddle
यह कैश की गई चयनकर्ताओं के मूल विचार को दिखाता है। तत्वों को फिर से नहीं बनाकर, आपके पास भी एक अच्छा प्रदर्शन बढ़ावा है।
हालांकि, एक बार दूसरा एक बहुत आसान काम के लिए बहुत भारी काम नहीं है (जब तक कि आपके पृष्ठ में सैकड़ों घड़ियों नहीं हैं)।
स्रोत
2013-04-14 00:37:27
क्योंकि ऐसी बात मौजूद नहीं है। आपने शायद इसे एक ब्लॉग से पढ़ा है जो इसके क्रियान्वयन का सुझाव देता है - http://css-tricks.com/a-call-for-nth-everything/ देखें और ":: nth-letter()/:: पर अंतिम बार स्क्रॉल करें -लेटर()/:: nth-last-letter() "- और हाँ, आप आसानी से जेएस के साथ इसे प्राप्त कर सकते हैं। –
@ FabrícioMatté, मुझे एक एहसास था ... क्या आप ऐसा करने का एक और तरीका सुझा सकते हैं (जेएस में मुझे लगता है) कि हर सेकेंड चलाने के लिए पर्याप्त कुशल होगा? – n0pe
शायद ऐसा कुछ http://codepen.io/FWeinb/pen/djuIx –