كيفية تنفيذ عرض المرساة المسماة المطلوبة باستخدام JQuery / JavaScript / CSS

StackOverflow https://stackoverflow.com/questions/879910

سؤال

تحتوي الصفحة على حاوية div تحتوي على أقسام محتوى متعددة.يحتوي كل قسم محتوى على نقطة ارتساء مسماة.يتم عرض قسم واحد فقط من أقسام المحتوى في كل مرة:

مثال:

<style>
  .lurk { display: none; }
</style>
<div class="container">
  <div id="c1">
    <a name="#c1">One</a> is the loneliest number.
  </div>
  <div id="c2" class="lurk">
    <a name="#c2">Two</a> is company.
  </div>
  <div id="c3" class="lurk">
    <a name="#c3">Three</a> is a crowd.
  </div>
</div>
<script>
// ... something that adds and removes the lurk class from the content divs
</script>

السلوك المطلوب هو أنه إذا طلب شخص ما الصفحة باستخدام نقطة ارتساء مسماة صالحة في عنوان URL، فسوف يراها JavaScript/JQuery ويقوم بتعيين خصائص العرض المختلفة بشكل مناسب بحيث يكون المحتوى المطابق لنقطة الارتساء المسماة مرئيًا.

  1. هل عنوان URL طلب JQuery؟
  2. هل يتم التحقق من المراسي المسماة في عنوان URL عادة في وقت مبكر من $ (وثيقة). ready؟ ()
  3. هل من الصعب الحصول على الصواب بطريقة متقاطعة؟
  4. هل هناك روتين مكتبة لاستخراج المرساة من عنوان URL، أم أن كل شخص يستخدم تعبيره العادي الخاص به؟
هل كانت مفيدة؟

المحلول

يمكنك استخدام location.hash لاسترداد المرساة من عنوان URL.سيعمل هذا عبر المتصفحات وسيعمل في $(document).ready.

على سبيل المثال:

$("div.container > div").removeClass("lurk");
if (location.hash)
    $("#" + location.hash).addClass("lurk");
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top