[英]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.