2012-12-19 12 views
7

के बाद एंकर लिंक पर जाएं I हैश अपडेट करने और फिर पृष्ठ को फिर से लोड करने का प्रयास कर रहा हूं।window.location.reload

$('a[name="' + fragment + '"]').remove(); //don't jump before window reloads 
window.location.hash = fragment; 
window.location.reload(true); 

रीलोड विंडो के बाद एंकर टैग पर कूद नहीं है। मेरे द्वारा यह कैसे किया जा सकता है?

+0

तुम क्यों हैश का प्रयोग करेंगे, और फिर पृष्ठ को रीलोड ? – adeneo

+1

मैं ** सोचता हूं ** आप 'href' प्रॉपर्टी को बदलकर बेहतर हैं:' window.location.href = url + '# your-hash'; ' –

+0

विचार पृष्ठ को फिर से लोड करना है और फिर स्क्रीन पर विशिष्ट कूदना है पृष्ठ –

उत्तर

1

MOZILLA DEVELOPER NETWORKreplace उपयोग करने का सुझाव:

function reloadPageWithHash() { 
    var initialPage = window.location.pathname; 
    window.location.replace('http://example.com/#' + initialPage); 
} 
2

यह काफी jQuery में प्राप्त करने के लिए यदि आप पृष्ठ को फिर से लोड कर रहे हैं तुच्छ है। पृष्ठ लोड करते समय बस window.location.hash संपत्ति देखें।

$(document).ready(function() { 
    if(window.location.hash) { // just in case there is no hash 
     $(document.body).animate({ 
      'scrollTop': $(window.location.hash).offset().top 
     }, 2000); 
    } 
}); 

एकमात्र चेतावनी यह है कि आपका हैश उस तत्व की आईडी से मेल खाता है जिसे आप स्क्रॉल कर रहे हैं।

डेमो here

0

@Tim एस मेरा इरादा अपने गड़गड़ाहट लेकिन चोरी करने के लिए नहीं बिल्कुल है अपने बहुत कम महत्वपूर्ण टिप्पणी ऊपर इस सवाल का इष्टतम समाधान मेरी राय में है, क्योंकि यह, सरल साफ है और परीक्षण सफलतापूर्वक पार विभिन्न ब्राउज़रों। इसलिए मैं अपनी ओर से इसके बारे में एक जवाब बनाने हूँ:

window.location.href = url#anchor 

(जहां यूआरएल वर्तमान पृष्ठ हो सकता है - या वांछित के रूप में एक अलग से एक)

+1

पर रखें यदि यह यूआरएल/एंकर समान है तो यह पृष्ठ को फिर से लोड नहीं करता है। –

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