दिलचस्प पोस्ट
स्टैक ट्रेस क्या है, और मैं इसे कैसे उपयोग कर सकता हूं अपने अनुप्रयोग त्रुटियों को डीबग करें? क्या पुराने जीसीएम टोकन एक अनइंस्टॉल के बाद भी रहते हैं? एकाधिक डेटाबेस में LINQ SQL सर्वर की छुपी हुई विशेषताओं SQLite डेटाबेस बनाम कच्चे संसाधन संशोधन के लिए डेटाबेस डिजाइन? एमवीसी 4 रेजर फाइल अपलोड करें पीडीएफ फ़ाइल अपलोड करना CALayer को पाठ जोड़ें XML_LOAD () का उपयोग करके MySQL डेटाबेस तालिका में XML फ़ाइल कैसे आयात करें? समारोह Laravel 5 – URL से सार्वजनिक निकालें स्प्रिंग एमवीसी से JSON के रूप में भेजने पर गतिशील रूप से जावा ऑब्जेक्ट से फ़ील्ड पर ध्यान न दें रनटाइम पर jQuery के साथ एक सीएसएस नियम / वर्ग बनाएं 2 की अगली शक्ति तक गोल करना PHP में एक सत्र से लॉगआउट करने का उचित तरीका

जावास्क्रिप्ट के साथ छवि स्रोत बदलें

इसलिए मैं जावास्क्रिप्ट के साथ नया हूँ (यह वास्तव में मेरा कुछ काम करने का पहला प्रयास है) और मुझे परेशानी हो रही है। मैंने सोचा कि मुझे यह काम करने के लिए पर्याप्त ज्ञान था, मैंने ट्यूटोरियल और लिपियों के लिए भी गोल किया है जो मुझे यह काम करने में मदद दे सकते हैं, लेकिन कुछ भी वास्तव में मदद नहीं की।

मैं छवि स्रोत को परिवर्तित नहीं कर सकता, उस कोड को सुनता है जो मेरे पास अभी तक है:

<script type="text/javascript"> function changeImage(a) { document.getElementById("img").src=a.src; } </script> <div id="main_img"> <img id="img" src="1772031_29_b.jpg"> </div> <div id="thumb_img"> <img src='1772031_29_t.jpg' onclick='changeImage("1772031_29_b.jpg");'> <img src='1772031_55_t.jpg' onclick='changeImage("1772031_55_b.jpg");'> <img src='1772031_53_t.jpg' onclick='changeImage("1772031_53_b.jpg");'> </div> 

क्या कोई कृपया समझा सकता है कि मैं कुछ गलत कर रहा हूं? या शायद मुझे कुछ याद आ रहा है? कृपया मेरी मदद करें 🙂

Solutions Collecting From Web of "जावास्क्रिप्ट के साथ छवि स्रोत बदलें"

function changeImage(a) तो ऐसा कोई ऐसी चीज नहीं है, जैसा कि a . a.src => बस a उपयोग करें।

डेमो यहाँ

अगर आपके पास _b बजाय हमेशा _b पर पैटर्न होगा, तो आप छवि के संदर्भ को अपने पास _t इसे अधिक सामान्य बना सकते हैं:

 onclick='changeImage(this);' 

फिर फ़ंक्शन में:

 function changeImage(img) { document.getElementById("img").src = img.src.replace("_t", "_b"); } 

आपकी एकमात्र वास्तविक समस्या यह है कि आप एक स्ट्रिंग पास कर रहे हैं, एक .src संपत्ति के साथ एक वस्तु नहीं

कुछ सुझाव:

  • स्वाभाविक रूप से क्लिक करने योग्य तत्व ट्रिगर का उपयोग करें, जैसे <button>
  • तत्व पर ईवेंट डेटा के लिए data- उपसर्ग विशेषताओं का उपयोग करें
  • देर से होने वाली घटनाओं का उपयोग करें जब DOM तैयार हो।

मार्कअप:

 <div id="main_img"> <img id="img" src="1772031_29_b.jpg"> </div> <ul id="thumb_img"> <li><button data-src='1772031_29_b.jpg'><img src='1772031_29_t.jpg' /></button></li> <li><button data-src='1772031_55_b.jpg'><img src='1772031_55_t.jpg' /></button></li> <li><button data-src='1772031_53_b.jpg'><img src='1772031_53_t.jpg' /></button></li> </ul> 

जावास्क्रिप्ट:

यदि आपको IE और अन्य विरासत ब्राउज़रों का समर्थन करने की आवश्यकता है, तो Array.from के लिए एक उचित polyfill का उपयोग करें

 function clickedButton(btn, event) { document.getElementById('img').src = btn.getAttribute('data-src'); } function bindClick(btn) { btn.addEventListener('click', clickedButton.bind(null,btn)); } // Setup click handler(s) when content is loaded document.addEventListener("DOMContentLoaded", function(){ Array.from(document.querySelectorAll('#thumb_img > button')) .forEach(bindClick)); }); 

संपादित करें: आधुनिक ब्राउज़रों के लिए वेनिला जे.एस.

मैं यह भी समस्या है कि ट्यूब। लेकिन हर बार जब आप स्रोत (छवि) को बदलते हैं, तो एक छवि के उदाहरण के द्वारा इसे हल करें

ऐसा लगता है कि केवल एक बार डाउनलोड पर कॉल किया जाएगा लेकिन इस तरह, जब भी आप चाहते हैं आप चित्र बदल सकते हैं

 function chageIcon(domImg,srcImage) { var img = new Image(); img.onload = function() { // Load completed domImg.src = this.src; }; img.src = srcImage; } 

मोड का उपयोग करें

 chageIcon(document.getElementById("img"),"newIcon.png"); 

आपके पास कुछ बदलाव हैं (यह मानता है कि आप वास्तव में अभी भी छवि को आईएमजी की एक आईडी से बदलना चाहते हैं, यदि छाया विजार्ड के समाधान का उपयोग न करें)।

a.src निकालें और इसके साथ बदलें:

 <script type="text/javascript"> function changeImage(a) { document.getElementById("img").src=a; } </script> 

एक शाब्दिक के बजाय नई छवि स्रोत की एक स्ट्रिंग शामिल करने के लिए अपने onclick विशेषताओं को बदलें:

 onclick='changeImage( "1772031_29_b.jpg" );' 

निम्न उदाहरण कार्यक्रम प्रत्येक 100 मिलिसेकंड के लिए छवि स्रोत विशेषता को बदलने के लिए उपयोग किया जाता है आप दिए गए फ़ंक्शन को अपनी इच्छा के अनुसार बुला सकते हैं

 <html> <head> </head> <body> <img src="bulboff.jpg" height=200 width=200 id="imm" align="right"> <script type="text/javascript"> function bulb() { var b = document.getElementById("imm"); if(b.src.match("bulboff.jpg")) { b.src = "bulbon.jpg"; } else { b.src="bulboff.jpg"; } } setInterval(bulb,100); </script> </body> </html> 
  <script type="text/javascript"> function changeImage(a) { var picName=a.substring(1,a.length-1); document.getElementById("image").src=picName; } </script> <div id="main_img"> <img id="image" src="app.jpg"> </div> <div id="thumb_img"> <img src='app.jpg' onclick="changeImage('+5steps.jpg+');"> <img src='5steps.jpg' onclick="changeImage('+award.png+');"> <img src='award.png' onclick="changeImage('+app.jpg+');"> </div> 

उपरोक्त कोड को इस एचटीएमएल फ़ाइल और तस्वीरों को रखकर (नामों में ख्याल रखना, बीकॉज़ मैंने अपने पिक नामों के साथ ऊपर दिए कोड को दिया है) उसी फ़ोल्डर में आपको मिलेगा …

नमस्ते मैं अपने कोड के साथ एकीकृत करने की कोशिश की।

क्या आप इसे देख सकते हैं?

धन्यवाद एमएस

 <!DOCTYPE html> <html> <head> <!--TODO: need to integrate this code into the project to change images added 05/21/2016:--> <script type="text/javascript"> function changeImage(a) { document.getElementById("img").src=a; } </script> <title> Fluid Selection </title> <!-- css --> <link rel="stylesheet" href="bootstrap-3/css/bootstrap.min.css"> <link rel="stylesheet" href="css/main.css"> <!-- end css --> <!-- Java script files --> <!-- Date.js date os javascript helper --> <script src="js/date.js"> </script> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="js/jquery-2.1.1.min.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="bootstrap-3/js/bootstrap.min.js"> </script> <script src="js/library.js"> </script> <script src="js/sfds.js"> </script> <script src="js/main.js"> </script> <!-- End Java script files --> <!--added on 05/28/2016--> <style> /* The Modal (background) */ .modal { display: none; /* Hidden by default */ position: fixed; /* Stay in place */ z-index:40001; /* High z-index to ensure it appears above all content */ padding-top: 100px; /* Location of the box */ left: 0; top: 0; width: 100%; /* Full width */ height: 100%; /* Full height */ overflow: auto; /* Enable scroll if needed */ background-color: rgba(0,0,0,0.9); /* Black w/ opacity */ } /* Modal Content */ .modal-content { position: relative; background-color: #fefefe; margin: auto; padding: 0; border: 1px solid #888; width: 40%; box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19); -webkit-animation-name: animatetop; -webkit-animation-duration: 0.4s; animation-name: animatetop; animation-duration: 0.4s opacity:.5; /* Sets opacity so it's partly transparent */ -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* IE transparency */ filter:alpha(opacity=50); /* More IE transparency */ z-index:40001; } } /* Add Animation */ @-webkit-keyframes animatetop { from {top:-300px; opacity:0} to {top:0; opacity:1} } @keyframes animatetop { from {top:-300px; opacity:0} to {top:0; opacity:1} } /* The Close Button */ .close { } .close:hover, .close:focus { color: #000; text-decoration: none; cursor:pointer; } /* The Close Button */ .close2 { } .close2:focus { color: #000; text-decoration: none; cursor:pointer; } .modal-header { color: #000; padding: 2px 16px; } .modal-body {padding: 2px 16px;} } .modal-footer { padding: 2px 16px; background-color: #000099; color: white; } </style> <script> $(document).ready(function() { $("#water").click(function(event){ var $this= $(this); if($this.hasClass('clicked')){ $this.removeClass('clicked'); SFDS.setFluidType(0); $this.find('h3').text('Select the H20 Fluid Type'); }else{ SFDS.setFluidType(1); $this.addClass('clicked'); $this.find('h3').text('H20 Selected'); } }); $("#saline").click(function(event){ var $this= $(this); if($this.hasClass('clicked')){ $this.removeClass('clicked'); SFDS.setFluidType(0); $this.find('h3').text('Select the NaCL Fluid Type'); }else{ SFDS.setFluidType(1); $this.addClass('clicked'); $this.find('h3').text('NaCL Selected'); } }); }); </script> </head> <body> <div class="container-fluid"> <header> <div class="row"> <div class="col-xs-6"> <div id="date"><span class="date_time"></span></div> </div> <div class="col-xs-6"> <div id="time" class="text-right"><span class="date_time"></span></div> </div> </div> </header> <div class="row"> <div class="col-md-offset-1 col-sm-3 col-xs-8 col-xs-offset-2 col-sm-offset-0"> <div id="fluid" class="main_button center-block"> <div class="large_circle_button, main_img"> <h2>Select<br>Fluid</h2> <img class="center-block large_button_image" src="images/dropwater.png" alt=""/> </div> <h1></h1> </div> </div> <div class=" col-md-6 col-sm-offset-1 col-sm-8 col-xs-12"> <div class="row"> <div class="col-xs-12"> <div id="water" class="large_rectangle_button"> <div class="label_wrapper"> <h3>Sterile<br>Water</h3> </div> <div id="thumb_img" class="image_wrapper"> <img src="images/dropsterilewater.png" alt="Sterile Water" class="sterile_water_image" onclick='changeImage("images/dropsterilewater.png");'> </div> <img src="images/checkmark.png" class="button_checkmark" width="96" height="88"> </div> </div> <div class="col-xs-12"> <div id="saline" class="large_rectangle_button"> <div class="label_wrapper"> <h3>Sterile<br>0.9% NaCL</h3> </div> <div class="image_wrapper"> <img src="images/cansterilesaline.png" alt= "Sterile Saline" class="sterile_salt_image" onclick='changeImage("images/imagecansterilesaline.png");'> </div> <img src="images/checkmark.png" class="button_checkmark" width="96" height="88"> </div> </div> <div class="col-xs-12"> <div class="small_rectangle_button"> <!-- Trigger/Open The Modal --> <div id="myBtn" class="label_wrapper"> <h3>Change<br>Cartridge</h3> </div> <div class="image_wrapper"> <img src="images/changecartridge.png" alt="" class="change_cartrige_image" /> </div> </div> </div> <!-- The Modal --> <div id="myModal" class="modal"> <!-- Modal content --> <div class="modal-content"> <div class="modal-header"> <span class="close"><img src="images/x-icon.png"></span> <h2>Change Cartridge Instructions</h2> </div> <div class="modal-body"> <h4>Lorem ipsum dolor sit amet, dicant nonumes volutpat cu eum, in nulla molestie vim, nec probo option iracundia ut. Tale inermis scripserit ne cum, his no errem minimum commune, usu accumsan omnesque in. Eu has nihil dolor debitis, ad nobis impedit per. Dicat mnesarchum quo at, debet abhorreant consectetuer sea te, postea adversarium et eos. At alii dicit his, liber tantas suscipit sea in, id pri erat probatus. Vel nostro periculis dissentiet te, ut ubique noster vix. Id honestatis disputationi vel, ne vix assum constituam.</h4> <a href="#"><img src="images/video-icon.png" alt="click here for video"> </a> <a href="#close2" title="Close" class="close2"><img src="images/cancel-icon.png" alt="Cancel"></a> </div> <div class="modal-footer"> <h4></h4> </div> </div> </div> <!--for comparison--> <script> // Get the modal var modal = document.getElementById('myModal'); // Get the button that opens the modal var btn = document.getElementById("myBtn"); // Get the <span> element that closes the modal var span = document.getElementsByClassName("close")[0]; // When the user clicks the button, open the modal btn.onclick = function() { modal.style.display = "block"; } // When the user clicks on <span> (x), close the modal span.onclick = function() { modal.style.display = "none"; } // When the user clicks anywhere outside of the modal, close it window.onclick = function(event) { if (event.target == modal) { modal.style.display = "none"; } } </script> </div> </div> </div> </div> <footer class="footer navbar-fixed-bottom"> <div class="container-fluid"> <div class="row cols-bottom"> <div class="col-sm-3"> <a href="main.html"> <div class="small_circle_button"> <img src="images/buttonback.png" alt="back to home" class="settings"/> <!-- width="49" height="48" --> </div> </div></a><div class=" col-sm-6"> <div id="stop_button" > <img src="images/stop.png" alt="stop" class="center-block stop_button" /> <!-- width="140" height="128" --> </div> </div><div class="col-sm-3"> <div id="parker" class="pull-right"> <img src="images/parkerlogo.png" alt="parkerlogo" /> <!-- width="131" height="65" --> </div> </div> </div> </div> </footer> </body> </html> 

TODOs के तहत, मैं इस पोस्टिंग में अपना कोड लागू करने की कोशिश कर रहा हूं। मैं बाईं तरफ बड़ा डिवा लेने की कोशिश कर रहा हूं और इसे सही पर चयन को प्रतिबिंबित करने के लिए बदल दिया है। दो चयन, परिवेश तापमान और शारीरिक तापमान हैं

 <!DOCTYPE html> <html> <head> <title> Temperature Selection </title> <!-- css --> <link rel="stylesheet" href="bootstrap-3/css/bootstrap.min.css"> <link rel="stylesheet" href="css/main.css"> <!-- end css --> <!-- Java script files --> <!-- Date.js date os javascript helper --> <script src="js/date.js"> </script> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="js/jquery-2.1.1.min.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="bootstrap-3/js/bootstrap.min.js"> </script> <script src="js/library.js"> </script> <script src="js/sfds.js"> </script> <script src="js/main.js"> </script> <!-- End Java script files --> <!--TODO: need to integrate this code into the project:--> <script type="text/javascript"> function changeImage(a) { document.getElementById("img").src=a; } </script> <script> $(document).ready(function() { $("#ambient").click(function(event){ var $this= $(this); if($this.hasClass('clicked')){ $this.removeClass('clicked'); SFDS.setTemperatureType(0); $this.find('h2').text('Select Ambient Temperature 21 Degrees C'); <!--added on 05/20/2015--> }else{ SFDS.setTemperatureType(1); $this.addClass('clicked'); $this.find('h2').text('Ambient Temperature 21 Degrees C Selected'); } }); $("#body").click(function(event){ var $this= $(this); if($this.hasClass('clicked')){ $this.removeClass('clicked'); SFDS.setTemperatureType(0); $this.find('h2').text('Select Body Temperature 37 Degrees C'); <!--added on 05/20/2015--> }else{ SFDS.setTemperatureType(1); $this.addClass('clicked'); $this.find('h2').text('Body Temperature 37 Degrees C Selected'); } }); }); </script> </head> <body> <div class="container-fluid"> <header> <div class="row"> <div class="col-xs-6"> <div id="date"><span class="date_time"></span></div> </div> <div class="col-xs-6"> <div id="time" class="text-right"><span class="date_time"></span></div> </div> </div> </header> <div class="row"> <div class="col-md-offset-1 col-sm-3 col-xs-8 col-xs-offset-2 col-sm-offset-0"> <div id="temperature" class="main_button center-block"> <div class="large_circle_button"> <h2>Select<br/>Temperature</h2> <img class="center-block large_button_image" src="images/thermometer.png" alt=""> <!-- TODO <img src='images/dropsterilewater.png' onclick='changeImage("images/dropsterilewater.png");'> <img src='images/imagecansterilesaline.png' onclick='changeImage("images/imagecansterilesaline.png");'>--> </div> <h1></h1> </div> </div> <div class=" col-md-6 col-sm-offset-1 col-sm-8 col-xs-12"> <div class="row"> <div class="col-xs-12"> <div id="ambient" class="large_rectangle_button"> <div class="label_wrapper"> <h2>Ambient<br/>Temperature<br/>21<sup>o</sup>C</h2> </div> <div class="image_wrapper"> <img src="images/house.png" alt="" class="ambient_temp_image"> </div> <img src="images/checkmark.png" class="button_checkmark" width="96" height="88"> </div> </div> <div class="col-xs-12"> <div id="body" class="large_rectangle_button"> <div class="label_wrapper"> <h2>Body<br/>Temperature<br/>37<sup>o</sup>C</h2> </div> <div class="image_wrapper"> <img src="images/bodytempman.png" alt="" class="body_temp_image"> </div> <img src="images/checkmark.png" class="button_checkmark" width="96" height="88"> </div> </div> </div> </div> </div> </div> <footer class="footer navbar-fixed-bottom"> <div class="container-fluid"> <div class="row cols-bottom"> <div class="col-sm-3"> <a href="main.html"> <div class="small_circle_button"> <img src="images/buttonback.png" alt="back to home" class="settings"/> <!-- width="49" height="48" --> </div> </div></a><div class=" col-sm-6"> <div id="stop_button" > <img src="images/stop.png" alt="stop" class="center-block stop_button" /> <!-- width="140" height="128" --> </div> </div><div class="col-sm-3"> <div id="parker" class="pull-right"> <img src="images/#" alt="logo" /> <!-- width="131" height="65" --> </div> </div> </div> </div> </footer> </body> </html> 

इसे इस्तेमाल करे!

 function changeimage() { var image = document.getElementById('imagem'); if (image.src.match("img")) { for(i = 1; i <= 3; i++) { image.src = "img/image2"+i+".png"; } } else { image.src = "img/image1.png"; } } 

इसे लिखने के बजाय,

 <script type="text/javascript"> function changeImage(a) { document.getElementById("img").src=a.src; } </script> 

प्रयत्न:

 <script type="text/javascript"> function changeImage(a) { document.getElementById("img").src=a; } </script> 

समस्या यह थी कि आप .src का उपयोग .src बिना इसे इस्तेमाल कर रहे थे और आपको यह भी अलग करना आवश्यक है कि आप .src बदलना चाहते थे।

 function changeImage(a, imgid) { document.getElementById(imgid).src=a; } 
 <div id="main_img"> <img id="img" src="1772031_29_b.jpg"> </div> <div id="thumb_img"> <img id="1" src='1772031_29_t.jpg' onclick='changeImage("1772031_29_b.jpg", "1");'> <img id="2" src='1772031_55_t.jpg' onclick='changeImage("1772031_55_b.jpg", "2");'> <img id="3" src='1772031_53_t.jpg' onclick='changeImage("1772031_53_b.jpg", "3");'> </div>