簡體   English   中英

如何使用JQuery選擇頁面加載時顯示的CSS類?

[英]How do I pick which CSS class is displayed on page load using JQuery?

在以下HTML標記中,我具有網站徽標的圖像版本和文本版本。 我想根據我在頁面中的垂直位置和屏幕寬度來選擇顯示哪個。

<a class="navbar-brand" id="top-logo" href="#top"><img src="display_board.png" alt="Page Title"></a>
<a class="navbar-brand scroll" id="bottom-logo" href="#top">Page Title</a>

以下腳本可以正確調整屏幕大小,並在頁面加載后滾動。 將網站加載到移動設備上時,在移動設備上查看時圖像徽標會首先顯示,然后迅速更新為文本徽標 ,因為腳本文件已加載到HTML文件的末尾。

var method_update_nav = function() {
  var buffer = 200;
  var horizontal_switch_point = 1200;
  var vertical_switch_point = $('.carousel-indicators').offset().top - buffer;
  var window_top = Math.round($(window).scrollTop());

  if ($(window).width() <= horizontal_switch_point || window_top >= vertical_switch_point) {
    $('nav').removeClass('top');
    $('nav').addClass('bottom');
    $('#top-logo').hide();
    $('#bottom-logo').show();
  } else {
    $('nav').removeClass('bottom');
    $('nav').addClass('top');
    $('#top-logo').show();
    $('#bottom-logo').hide();
  }
};

var main = function() {
  /* UPDATE NAV */
  method_update_nav();
  $(window).resize(method_update_nav);
  $(window).scroll(method_update_nav);
}

$(document).ready(main);

將腳本加載到HTML <header>會導致腳本無法運行,因為JQuery引用的類尚未在HTML標記中定義。

有沒有一種方法可以選擇正確的類以在頁面加載時顯示,但是在HTML標記中定義了類之后?

將腳本加載到HTML <header>會導致腳本無法運行,因為JQuery引用的類尚未在HTML標記中定義。

你自己說!

因此,您使用的是jQuery,我希望您知道必須將引用HTML元素的腳本放在頁面底部:

$(document).ready(function(){
    //script will now get the values because the HTML in now Loaded
})

我建議您閱讀網絡上的一些教程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM