javascript - JQuery rolling - stop previous & generalize -


मेरे पास ऐसा कोड है:

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

  $ ( (Function () {$ ("a.link1") {$ ("a.link1")। क्लिक करें (फ़ंक्शन () {// $ (this) .stop ()। PreventDefault ()। ({Scrollopop: $ ("# link1") ऑफसेट ()। शीर्ष}, 2000);}};}); $ ("a.link2") क्लिक करें (फ़ंक्शन () { // $ (this) .stop ()। PreventDefault ()। चेतन (फ़ंक्शन () {$ ('html, body')। चेतन ({scrollTop: $ ("# link2")। ऑफसेट ()। शीर्ष}, 2000 ());}); $ ("a.link3") क्लिक करें (फ़ंक्शन () {// $ (this)। रोक ()। PreventDefault ()। चेतन (फ़ंक्शन () {$ (' एचटीएमएल, बॉडी ')। चेतन ({स्क्रोलटॉप: $ ("# लिंक 3") ऑफसेट ()। शीर्ष}, 2000);}};})}}};   

एचटीएमएल का शरीर:

  & lt; div id = "menu" & gt; & Lt; a href = '# link1' class = "link1" & gt; LINK 1 & lt; / a & gt; & Lt; a href = '# link2' class = "link2" & gt; LINK 2 & lt; / a & gt; & Lt; a href = '# link3' class = "link3" & gt; LINK 3 & lt; / a & gt; & Lt; / div & gt; & Lt; div id = "content" & gt; & Lt; a नाम = "link1" id = "link1" & gt; & lt; / a & gt; & Lt;! - कुछ पाठ - & gt; & Lt; a नाम = "link2" id = "link2" & gt; & lt; / a & gt; & Lt;! - कुछ पाठ - & gt; & Lt; एक नाम = "लिंक 3" आईडी = "लिंक 3" & gt; & lt; / a & gt; & Lt;! - कुछ पाठ - & gt; & Lt; / div & gt;   

कृपया मुझे इस के साथ मदद करें:

  1. रोक मैं जिस तरह से करना चाहता था काम करने के लिए नहीं लगता है। मैं एक तरफ पिछले रोलिंग को रोकना चाहता हूं जब एक और लिंक सक्रिय हो।
  2. क्या jQuery के भाग के सामान्यीकरण का कोई भी तरीका है। मेरे पास 3 से अधिक मेनू लिंक हैं और मैं प्रत्येक के लिए एक विशेष फ़ंक्शन नहीं बनाना चाहता।

    आपकी मदद के लिए बहुत बहुत धन्यवाद सामान्य कॉलम बैक को सामान्य कार्य में निकालने के द्वारा आप सामान्य बना सकते हैं:

         var लिंकक्लिक करेंबेलबैक = फ़ंक्शन (चयनकर्ता) {$ ('html, body')। रोक ()। चेतन ({scrollTop: $ (चयनकर्ता) .offset ()। Top}, 2000); } $ (दस्तावेज़) .ready (फ़ंक्शन () {$ ("a.link1")। क्लिक करें (लिंक क्लिक करें Callback.bind (null, '# link1')); $ ("a.link2")। क्लिक करें (linkClickCallback.bind (शून्य, '# लिंक 2')); $ ("a.link3")। क्लिक करें (लिंक क्लिक करें Callback.bind (null, '# link3'));});   

    ध्यान दें कि लिंक में क्लिक करेंक्लबैक मैंने भी स्टॉप () विधि का उचित उपयोग लिखा है।

    संपादित करें:

    यह मेनू में सभी आइटमों के लिए काम करेगा:

      $ (दस्तावेज़) .ready (function () {$ ("# menu a")। क्लिक करें (फ़ंक्शन (e) {e.preventDefault (); लिंकक्लिक करेंबैकबैक ('#' + this.className);});});   

    एक ही लिंक के साथक्लिक करेंबैकबैक फ़ंक्शन।

Comments

Popular posts from this blog

sql - Return Function using Cursor -

c++ - why does this code produce a runtime error? -

javascript - Is there any way to add a new parameter to a function programmatically? -