2012-08-01 9 views
32

मैं एक HTML दस्तावेज़ वर्तमान में एक लंगर का उपयोग करएक वेब पृष्ठ के शीर्ष करने के लिए एक लिंक बनाएँ लंगर

<body id="topofpage"> 
    ... 
    <a href="#topofpage">Go to top</a> 

हालांकि पेज के शीर्ष के लिए कुछ लिंक है कि राशि का उपयोग के बिना, मैं की आवश्यकता होगी, पसंद नहीं है एक बेकार आईडी बनाने के लिए और लिंक पर क्लिक करने के बाद URL में "#topofpage" कैसे दिखाई देता है। क्या जावास्क्रिप्ट का उपयोग किए बिना पेज के शीर्ष से लिंक करने के लिए मैं कुछ और कर सकता हूं? मैंने <a href=""> के साथ पूरी तरह से एंकर को हटाने का प्रयास किया लेकिन इससे पेज रीफ्रेश हो जाता है।

उत्तर

52

According to the HTML5 उपयोग कर सकते हैं कल्पना खाली टुकड़ा # और विशेष टुकड़ा #top पेज के शीर्ष पर लिंक करेगा।

<a href="#">Go to top</a> 

<a href="#top">Go to top</a> 

अगर आप इन विशेष टुकड़ा नाम का उपयोग एक मिलान लंगर बनाने के लिए कोई जरूरत नहीं है।

+17

एचटीएमएल 5 spec एक विशेष खंड "#top" को परिभाषित करता है जिसे दस्तावेज़ के शीर्ष से जोड़ने के लिए उपयोग किया जा सकता है। "शीर्ष" की आईडी वाले तत्व को स्पष्ट रूप से परिभाषित करने की आवश्यकता नहीं है। मोज़िला के [href नोट] देखें (https: //developer.mozilla।org/en-US/docs/वेब/HTML/तत्व/एक # attr-href)। –

10

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

<a onclick="scroll(0,0)">

उपयोग करके देख सकते या आप jQuery

$("#Top").click(function(){ 
scroll(0,0); 
}); 
+0

यदि मैं ऐसा करता हूं तो यह विफल रहता है अगर मैं "एक नए टैब में खोलें" के साथ लिंक पर क्लिक करता हूं। जावास्क्रिप्ट का उपयोग इस तरह एकमात्र तरीका है? साथ ही, स्क्रॉल फ़ंक्शन क्रॉस-ब्राउज़र है? – hugomg

+2

जावास्क्रिप्ट एकमात्र तरीका है – user1513192

4

मुझे पता है कि आपने जावास्क्रिप्ट का उपयोग किए बिना कहा था, लेकिन मुझे लगता है कि वास्तव में एक असली एंकर का उपयोग करने से बचने का एकमात्र तरीका है। निम्नलिखित jQuery #top href के साथ एंकर को प्रतिस्थापित करेगा और यूआरएल बदलने के बिना शीर्ष पर एक अच्छी एनिमेटेड स्क्रॉल करेगा (अधिक जानकारी के लिए original author पृष्ठ देखें)।

$(document).ready(function() { 
    $('a[href=#top]').click(function(){ 
     $('html, body').animate({scrollTop:0}, 'slow'); 
     return false; 
    }); 
}) 

jsfiddle for completeness

हालांकि, मैं semantic HTML साथ चिपके रहते हैं और उनके उद्देश्य के लिए लंगर का उपयोग करें ताकि उचित अर्थ ब्राउज़रों की अधिकतम संख्या से व्याख्या की जा सकती हैं। विकलांग लोगों के बारे में मत भूलना जिनके लिए स्क्रीन पाठकों या अन्य विशेष ब्राउज़रों की आवश्यकता होती है। एंकरों को काम करने की गारंटी है।

इसके अलावा, Google announced in 2009 कुछ नई इंडेक्सिंग विशेषताएं जो सीधे वेब पेज खोजकर्ता के अतिरिक्त संदर्भ प्रदान करने के लिए इन-पेज एंकरों का लाभ उठाती हैं। कई मामलों में, उस पृष्ठ का एक अनुभाग हो सकता है जिसमें उपयोगकर्ता बहुत रूचि रखता है। Google इष्टतम प्रासंगिकता के लिए पृष्ठ के उस एंकर का सीधा लिंक प्रदान कर सकता है।

मेरे दृष्टिकोण से नीचे की रेखा - एंकरों को न करें। उन्हें इस्तेमाल करें।

-5

<a href="?">top</a> आपको वहां ले जाएगा।

+2

यह पृष्ठ को पुनः लोड करता है। – BoltClock

2

लंगर टैग का उपयोग कर पेज के शीर्ष पाने के लिए की एक और उपयोगी तरीका इसे का उपयोग इस आपके पृष्ठ के अपने वर्तमान पेज के शीर्ष करने के लिए स्क्रॉल करता है की तरह

<a href='#top'> Go back to the top of the page.</a> 

है। उम्मीद है कि यह किसी के लिए उपयोगी है।

संबंधित मुद्दे