मैं यह नहीं कहना चाहता कि यह असंभव है, लेकिन ... यह कम से कम चुनौतीपूर्ण होगा। ब्राउज़र (या कम से कम उन सभी जिन्हें मैं जानता हूं) पृष्ठ के उस हिस्से के रूप में जैसे ही एंकर पॉइंट पर स्क्रॉल करता है; AFAIK से बचने के लिए कोई जावास्क्रिप्ट-आधारित तरीका नहीं है (आपको ब्राउज़र प्लग-इन या कुछ चाहिए)।
हालांकि, मुझे लगता है कि आप संभावित रूप से इच्छित व्यवहार प्राप्त करने के लिए "पृष्ठ को पूरी तरह से लोड होने तक पृष्ठ को न दिखाएं" के एक संस्करण का उपयोग करने में सक्षम हो सकते हैं। दूसरे शब्दों में, क्या तुम करोगी:
छिपाएं अपने पेज की सामग्री पूर्व लोड के सभी (यानी एक DIV है कि अपने पूरे पृष्ठ लपेटता है, और एक "प्रदर्शन: कोई" डाल दिया। इस पर शैली)
पृष्ठ अन-छुपाता अपने DIV के लिए एक "ऑनलोड" ईवेंट हैंडलर संलग्न, और ...
है कि एक ही "ऑनलोड" ईवेंट हैंडलर में, स्क्रॉल करने के लिए एक मानक जे एस स्क्रॉल तंत्र (ie.ScrollTo) का उपयोग एंकर के लिए (मुझे लगता है कि आप यह निर्धारित करने में सक्षम होंगे कि window.location की जांच करके कौन सा एंकर स्क्रॉल करना है)
सिद्धांत रूप में, क्योंकि # 1 और # 2 (और के बीच ब्राउज़र इच्छा ब्राउज़र-पुस्तक वहाँ कहीं नहीं स्क्रॉल करने के लिए करने के लिए, सामग्री के साथ क्या छुपाई जा रही है और सभी, मैं यह सिर्फ सब कुछ नहीं करेंगे कल्पना है, क्योंकि), आपके द्वारा # 3 में उपयोग की जाने वाली स्क्रॉलिंग तंत्र में कोई हस्तक्षेप नहीं होना चाहिए।
कहा जा रहा है, ऊपर के सभी एक पूरी तरह से अपरीक्षित योजना है, आपका माइलेज मेरा अलग-अलग है। यहां तक कि अगर यह काम करता है, तो यह लागू करने के लिए एक दर्द होने जा रहा है, इसलिए जब तक आप वास्तव में इस व्यवहार को चाहते हैं, तो यह लगभग निश्चित रूप से परेशानी के लायक नहीं है।
$(document).ready(function() {
// replace # with #_ in all links containing #
$('a[href*=#]').each(function() {
$(this).attr('href', $(this).attr('href').replace('#', '#_'));
});
// scrollTo if #_ found
hashname = window.location.hash.replace('#_', '');
// find element to scroll to (<a name=""> or anything with particular id)
elem = $('a[name="' + hashname + '"],#' + hashname);
if(elem) {
$(document).scrollTo(elem, 800);
}
});
यह लिंक में सभी एंकर बदल कर उपयोगकर्ताओं के लिए जावास्क्रिप्ट बिना व्यवहार अछूता रहेगा:
वाह, यह काफी नाइस लगता है! ऐसा करने योग्य होना चाहिए, बहुत बहुत धन्यवाद :) केवल एक चीज जो इसके बारे में थोड़ा बेवकूफ है: उपयोगकर्ता को पूरा पृष्ठ लोड होने के बाद ही स्क्रॉल किया जाता है। शायद उपयोगकर्ता लंबे समय तक इंतजार नहीं करना चाहता है और खुद को नीचे स्क्रॉल करता है या नाराज है ... लेकिन मैं निश्चित रूप से इसे आजमा रहा हूं, धन्यवाद! –
आह ठीक है आप दस्तावेज़ के बिना, अपने सभी एचटीएमएल के नीचे jquery डाल सकते हैं। पहले से, जो आपको ढूंढ रहे हैं उसे देना चाहिए :-) –