हाय मैं जावास्क्रिप्ट के लिए नया हूं और मैं चाहता हूं कि आप मुझे यह जानने में मदद करें कि मुझे यादृच्छिक संख्या जनरेटर का परिणाम क्यों नहीं मिल रहा है उपयोगकर्ता द्वारा दर्ज किए गए न्यूनतम और अधिकतम संख्या का उपयोग करके गणना बटन पर क्लिक करने के बाद अवधि टैग में दिखाई दें। मेरा मानना है कि यादृच्छिक संख्या फ़ंक्शन के साथ कुछ भी गलत नहीं है, जब मैं यादृच्छिक संख्या फ़ंक्शन का उपयोग उस बटन के लिए ऑनक्लिक ईवेंट के लिए ईवेंट हैंडलर के रूप में करना चाहता हूं, जो यह काम नहीं करता है। ठीक है, मैंने जो किया था, मैंने उपयोगकर्ताओं के इनपुट को इकट्ठा करने के लिए उत्तर दिया और उस इनपुट का उपयोग उस क्रमिक संख्या फ़ंक्शन के लिए पैरामीटर के रूप में करने के लिए किया जिसे उत्तर फ़ंक्शन के अंदर बुलाया जा रहा है।बटन के बाद जावास्क्रिप्ट के साथ एक अवधि के लिए गणना का परिणाम जोड़ना
फिर मैंने जवाब कार्य को एक घटना हैंडलर के रूप में इस्तेमाल किया, यह सोचने के लिए कि यह यादृच्छिक संख्या जेनरेटर का परिणाम होगा और इसे ऑनक्लिक पर लागू करेगा। और मैंने संग्रहीत किया कि विभिन्न कॉल स्टोरेज में मैं बाद में स्पैन टैग में ईवेंट का परिणाम डाल सकता हूं।
यहां कोड का जेएस पहेली है। क्या आप बटन $ ("गणना") के बाद span $ ("output") में random_number फ़ंक्शन का परिणाम प्राप्त करके मेरी समस्या का समाधान करने में मेरी सहायता कर सकते हैं?
केवल शुद्ध जावास्क्रिप्ट, कोई jquery कृपया।
आपकी मदद के लिए अग्रिम धन्यवाद। और मुझे खेद है अगर मुझे शब्दावली गलत और खराब वर्तनी के लिए मिला। http://jsfiddle.net/jack2ky/WDyMd/
<label for="min">Enter the min:</label>
<input type="text" id = "min" /> <br />
<label for="max">Enter the max:</label>
<input type="text" id = "max" /> <br />
<input type="button" id = "calculate" value = "calculate"/>
<span id ="output"> </span>
<script>
var $ = function(id){
return document.getElementById(id);
}
window.onload = function() {
var random_number = function(min, max, digits){
digits = isNaN(digits) ? 0 : parseInt(digits);
if(digits < 0){
digits = 0;
}else if (digits > 16){
digits = 16
}
if(digits == 0){
return Math.floor(Math.random() * (max - min +1)) +min;
}else {
var rand = Math.random() * (max - min) + min;
return parseFloat(rand.toFixed(digits));
}
}
var storage = $("calculate").onclick = answer;
var answer = function(){
var miny = $("min").value;
var maxy = $("max").value;
return random_number(miny, maxy);
}
$("output").firstChild.nodeValue = storage;
}
</script>
</body>
</html>
आपकी मदद के लिए धन्यवाद। यह काम करता है :) मैं इस खिड़की पर भ्रमित हो जाता हूं। ऑब्जेक्ट संपत्ति वस्तु को लोड करें।कुछ बार मैं खिड़की में चीजों को कॉल करने में सक्षम हूं। कार्य लोड करें और यह काम करता है और दूसरी बार यह नहीं करता है। यह एक बात है कि मैं सीखने के साथ अपनी प्रगति में ठीक होने की उम्मीद करता हूं। मुझे लगता है कि मैं समझता हूं कि आपने क्या किया है। लेकिन parseInt के बारे में मैंने सोचा था कि parseInt का उपयोग करने का एक अच्छा उदाहरण यह है कि जब कोई उपयोगकर्ता 198.345 की तरह दशमलव के साथ संख्या में डालता है तो यह इसे 198 तक काट देगा। इस मामले में क्यों उपयोगकर्ता के 111 के आउटपुट के परिणामस्वरूप इसका अंतर होता है 1-10max बाहर parseInt बाहर रखता है। –
यह जानकर खुशी हुई कि यह काम करता है :)। ParseInt() फ़ंक्शन एक स्ट्रिंग को पार करता है और एक पूर्णांक देता है। इस मामले में यह आवश्यक है क्योंकि आपको टेक्स्टबॉक्स से न्यूनतम और अधिकतम मूल्य मिल रहा है जिसे डिफ़ॉल्ट रूप से संख्यात्मक स्ट्रिंग के रूप में मूल्यांकन किया जाता है। तो अगर 'न्यूनतम = 5; अधिकतम = 10' 'न्यूनतम + अधिकतम' जैसे अभिव्यक्तियों का आउटपुट '15' के बजाय' 510' होगा। आप फ़्लोटिंग पॉइंट नंबरों को पार्स करने के लिए 'parseFloat()' का उपयोग कर सकते हैं। हां आप दशमलव के साथ कटऑफ नंबर पर 'parseInt() 'का भी उपयोग कर सकते हैं लेकिन इसका वास्तविक उपयोग नहीं है। – Konsole