javascript - How to make IFRAME listen to scroll events as parent when click event within parent iframe is triggered -
मेरे पास एक एचटीएमएल पृष्ठ में दो iframes हैं
& lt; तालिका सीमा = "1" चौड़ाई = "100%" ऊंचाई = "100%" & gt; & LT; टीआर & gt; & Lt; th & gt; आईफ़्रेम आईडी = "i1" width = "100%" height = "100%" src = "/ wordpress" & gt; & lt; / iframe & gt; & lt; / th & gt; & Lt; th & gt; आईफ़्रेम आईडी = "आई 2" चौड़ाई = "100%" ऊंचाई = "100%" src = "/ वर्डप्रेस" & gt; & lt; / iframe & gt; & lt; / th & gt; & Lt; / टीआर & gt; & Lt; / तालिका & gt; मैं क्लिक करें घटना दे रहा हूँ "" टैग href बदलने के लिए करने के लिए इतना है कि जब कि iframe के भीतर किसी भी लिंक पर क्लिक किया जाता है और आईडी "i1" के साथ iframe के स्रोत दूसरा iframe के स्रोत में परिवर्तन बाद में भी बदलाव और दोनों iframe का एक ही पृष्ठ दृश्य है।
$ ('a')। क्लिक करें (फ़ंक्शन (e) {var id = $ (this) .attr ('id') ; वर href = $ (this) .attr ( 'href'); वर ahash = { 'id': आईडी, 'href': href}; अगर (। getFrameElement () आईडी == "i1") window.parent। Document.Aaddevent (ई, आह);}); href इस
document.sendevent = समारोह (ई, ahash) द्वारा बदल दिया गया है {if (ahash.id! = अपरिभाषित) {$ ( '# I2', window.parent.document) .contents ()। ('#' + Ahash.id खोजें) .ट्रिगर (ई); } और {$ ('# i2', window.parent.document) .attr ('src', ahash.href); }}; यह ठीक काम करता है अब मेरा प्रश्न है कि मैंने आईडी "i1" के साथ iframe को स्क्रॉल ईवेंट दिया है, ताकि जब आइफ्रेम को स्क्रॉल किया जाता है तो अन्य आइफ्रेम भी स्वचालित रूप से स्क्रॉल हो जाता है यह अच्छी तरह से काम कर रहा है, जब पेज लोड, लेकिन जब क्लिक करें घटना शुरू हो रहा है और दोनों iframe के पृष्ठ दृश्य में परिवर्तन पुस्तक घटना से काम नहीं कर रहा है।
समारोह getFrameTargetElement (OI) {var वामो = OI .contentWindow; अगर (window.pageYOffset == अपरिभाषित) {lF = (lF.document.documentElement)? LF.document.documentElement: lF = document.body; } // - रिटर्न कंप्यूट मूल्य रिटर्न एलएफ़; } // - फ्रेम लक्ष्य तत्वों var oE1 = getFrameTargetElement प्राप्त करें (document.getElementById ("i1")); Var oE2 = getFrameTargetElement (document.getElementById ("i2")); // - स्रोत पर स्क्रॉल करें oE1.onscroll = function (e) {var scrollTopValue; Var स्क्रोल लेफ्ट वैल्यू; // - स्क्रॉल मानों का मूल्यांकन करें यदि (window.pageYOffset! = Undefined) {scrollTopValue = oE1.pageY ऑस्टेट; ScrollLeftValue = oE1.pageX ऑफसेट; } और {scrollTopValue = oE1.scrollTop; ScrollLeftValue = oE1.scrollLeft; } // - नकल स्क्रॉल oE2.scrollTo (scrollLeftValue, scrollTopValue); } मुझे तब तक नहीं बदला जा रहा है जो मुझे बदलने की जरूरत है, जब एक इवेंट पर क्लिक ईवेंट ट्रिगर हो जाता है और दोनों iframe के src में बदलाव होता है तो स्क्रॉल ईवेंट को भी काम करना चाहिए जैसा कि यह पृष्ठ पर काम करता है शुरू में भरी हुई।
अपनी पुस्तक ईवेंट हैंडलर पृष्ठों नई यूआरएल को लोड करने के बाद, आप फिर से बाध्य करने के लिए है । Iframe के ऑनलोड ईवेंट को सुनें, और जब वह आग लगती है, तो स्क्रॉल हैंन्डलर्स को फिर से बाएं। ऐसा लगता है कि आप jQuery का उपयोग कर रहे हैं यह कैसे करें:
$ ("# i1")। लोड (फ़ंक्शन () {var oE1 = getFrameTargetElement (document.getElementById ("i1")); var oE2 = getFrameTargetElement ( Document.getElementById ("i2")); // स्रोत पर स्क्रॉल करें oE1.onscroll = function (e) {var scrollTopValue; var scrollLeftValue; // - स्क्रॉल मानों का मूल्यांकन करें यदि (window.pageYOffset! = Undefined) {scrollTopValue = oE1 .pageYOffset; scrollLeftValue = oE1.pageXOffset;} else {scrollTopValue = oE1.scrollTop; scrollLeftValue = oE1.scrollLeft;} // - नकल स्क्रॉल oE2.scrollTo (scrollLeftValue, scrollTopValue);}} < / div>
Comments
Post a Comment