簡體   English   中英

在錨點單擊上更改 DIV Class

[英]Change DIV Class on Anchor Click

我看過一些類似的帖子,但我對 Javascript 了解不多,所以我想知道您是否可以提供幫助。

我有以下代碼,當單擊主菜單鏈接(例如#contact )時,會更改<div class="contact">的 CSS Class 並添加一些額外的類以使上一頁消失並新頁面再現:

$('.top-menu').on('click', 'a', function(){

    /* vars */
    var width = $(window).width();
    var id = $(this).attr('href');
    var h = parseFloat($(id).offset().top);
    var card_item = $(id);
    var menu_items = $('.top-menu li');
    var menu_item = $(this).closest('li');
    var d_lnk = $('.lnks .lnk.discover');

    if((width >= 1024)) {
        
        /* if desktop */
        if(!menu_item.hasClass('active') & (width > 1023) & $('#home-card').length) {

            /* close card items */
            menu_items.removeClass('active');
            container.find(card_items).removeClass('animated '+animation_in);

            if($(container).hasClass('opened')) {
                container.find(card_items).addClass('animated '+animation_out);
            }

            /* open card item */
            menu_item.addClass('active');
            container.addClass('opened');
            container.find(card_item).removeClass('animated '+animation_out);
            container.find(card_item).addClass('animated '+animation_in);
            
            $(card_items).addClass('hidden');
            
            $(card_item).removeClass('hidden');
            $(card_item).addClass('active');
        }
    }

是否可以調整此代碼,以使任何帶有更改頁面changepage的鏈接也具有相同的行為?

作為進一步的改進,是否有可能讓這個 function 基於當前頁面 URL/頁面加載發生,這樣如果用戶被發送到網站的聯系頁面就會發生(所以他們不必單擊聯系頁面,它會自動加載)。

預先感謝您的支持。

請嘗試使用以下(刪除:)修復 if 語句:

if(menu_item.hasClass('active') & (width > 1023) & $('#home-card').length)

這些代碼行彼此很奇怪:id 得到 jquery object,然后進入 $()。
這會產生沖突。

var id = $(this).attr('href');
var card_item = $(id);

暫無
暫無

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

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