0

ウィンドウに入るとアクティブになるナビゲーションリンクがあります。これを Web サイトの 3 つの別々のページに実装する必要がありますが、次のスクリプトは最初のページでしか機能しません。

var services_refresh = function () {
    // do stuff
    console.log('Stopped Scrolling');

    if ($('#ct_scans.anchor').visible()) {

        $('#our_services_sub_sections li a').removeClass('active');

        $('#our_services_sub_sections li a[href="#ct_scans"]').addClass('active');

    } else if ($('#xray.anchor').visible()) {

        $('#our_services_sub_sections li a').removeClass('active');

        $('#our_services_sub_sections li a[href="#xray"]').addClass('active');

    } else if ($('#fluoroscopy.anchor').visible()) {

        $('#our_services_sub_sections li a').removeClass('active');

        $('#our_services_sub_sections li a[href="#fluoroscopy"]').addClass('active');

    } else if ($('#mri.anchor').visible()) {

        $('#our_services_sub_sections li a').removeClass('active');

        $('#our_services_sub_sections li a[href="#mri"]').addClass('active');

    } else if ($('#neuroimaging.anchor').visible()) {

        $('#our_services_sub_sections li a').removeClass('active');

        $('#our_services_sub_sections li a[href="#neuroimaging"]').addClass('active');

    } else if ($('#nuclear_medicine.anchor').visible()) {

        $('#our_services_sub_sections li a').removeClass('active');

        $('#our_services_sub_sections li a[href="#nuclear_medicine"]').addClass('active');

    } else if ($('#ultrasound.anchor').visible()) {

        $('#our_services_sub_sections li a').removeClass('active');

        $('#our_services_sub_sections li a[href="#ultrasound"]').addClass('active');

    } else if ($('#mammography.anchor').visible()) {

        $('#our_services_sub_sections li a').removeClass('active');

        $('#our_services_sub_sections li a[href="#mammography"]').addClass('active');

    } else if ($('#breast_ultrasound.anchor').visible()) {

        $('#our_services_sub_sections li a').removeClass('active');

        $('#our_services_sub_sections li a[href="#breast_ultrasound"]').addClass('active');

    } else if ($('#breast_biopsy.anchor').visible()) {

        $('#our_services_sub_sections li a').removeClass('active');

        $('#our_services_sub_sections li a[href="#breast_biopsy"]').addClass('active');

    } else if ($('#breast_mri.anchor').visible()) {

        $('#our_services_sub_sections li a').removeClass('active');

        $('#our_services_sub_sections li a[href="#breast_mri"]').addClass('active');

    } else if ($('#osteoporosis.anchor').visible()) {

        $('#our_services_sub_sections li a').removeClass('active');

        $('#our_services_sub_sections li a[href="#osteoporosis"]').addClass('active');
    }
};

動作する最初のページの HTML は次のとおりです。

 <ul id="our_services_sub_sections" class="diagnostic_images">

    <li><a class="scroll active" href="#ct_scans">CT Scans</a></li>
    <li><a class="scroll" href="#xray">X-Ray</a></li>
    <li><a class="scroll" href="#fluoroscopy">Fluoroscopy</a></li>
    <li><a class="scroll" href="#mri">MRI</a></li>
    <li><a class="scroll" href="#neuroimaging">Neuroimaging</a></li>
    <li><a class="scroll" href="#nuclear_medicine">Nuclear Medicine</a></li>
    <li><a class="scroll" href="#ultrasound">Ultrasound</a></li>

 </ul>

動作しない 2 ページ目の HTML は次のとおりです。

<ul id="our_services_sub_sections" class="womens_imaging">

  <li><a class="scroll active" href="#mammography">Mammography</a></li>
  <li><a class="scroll" href="#breast_ultrasound">Breast Ultrasound</a></li>
  <li><a class="scroll" href="#breast_biopsy">Breast Biopsy</a></li>
  <li><a class="scroll" href="#breast_mri">Breast MRI</a></li>
  <li><a class="scroll osteo" href="#osteoporosis">Osteoporosis<br />Evaluation (DEXA)</a></li>

</ul>

なぜこれが機能しないのですか?

4

2 に答える 2

0

私はついに自分の問題を解決する方法を見つけました。

以下は、3 つのページのそれぞれに対して私がしなければならなかったことの例です。

var services_refresh = function () { 

if($('#firstpage.anchor').length != 0) {

  if($('#firstpage.anchor').visible()) {

       $('#nav_sub_section li a').removeClass('active');

       $('#nav_sub_section li a[href="#firstpage"]').addClass('active');

   }

} else if($('#secondpage.anchor').length != 0) {

    if($('#secondpage.anchor').visible()) {

        $('#nav_sub_section li a').removeClass('active');

        $('#nav_sub_section li a[href="#secondpage"]').addClass('active');

    }

} else if($('#thirdpage.anchor').length != 0) {

    if($('#thirdpage.anchor').visible()) {

        $('#nav_sub_section li a').removeClass('active');

        $('#nav_sub_section li a[href="#thirdpage"]').addClass('active');

    }
  }
};
于 2013-11-04T16:34:18.747 に答える