2017-05-22 30 views
0

我不是程序員,但我每天都會編寫HTML & CSS,通常可以將JavaScript和PHP拼湊在一起。請用設計師能理解的術語解釋答案,謝謝! :)將元素ID過濾器添加到頁面錨點的jQuery腳本

我正在努力使我們的網站更加可用,我遇到了固定標題和各種頁面錨點的問題。我添加了一個腳本來創建平滑滾動並調整固定標題高度。問題是,我使用的是一個WordPress安裝的可視化編輯器插件,而我們的選項卡頁面元素的一個不與新的腳本正常工作:

https://newstart.staging.wpengine.com/treatment/mental-health/ocd/

退房接近底部的OCD亞型。當單擊子類型的選項卡定位鏈接時,選項卡的div跳轉到標題後面。在添加腳本之前,該元素將保持靜態並通常在選項卡之間翻轉。

雖然我們確實需要這個腳本,所以我想爲這些標籤鏈接添加一個類或ID過濾器。這樣他們完全被排除在腳本之外。我試過.not()和:not()選擇器,但沒有成功。這裏是腳本(taken from here):

$('a[href^="#"]').on('click', function(e) { 
var hash = this.hash, 
    $hash = $(hash), 
    addHash = function() { 
     window.location.hash = hash; 
    }; 

if (hash !== '#header') { 
    $('html,body').animate({ 'scrollTop': $hash.offset().top -50 }, 500, addHash); 
} else { 
    $('html,body').animate({ 'scrollTop': $hash.offset().top }, 500, addHash); 
} 
e.preventDefault(); 
}); 

回答

0

得到它

$('a[href^="#"]').not($("#static a")).on('click', function(e) { 
var hash = this.hash, 
    $hash = $(hash), 
    addHash = function() { 
     window.location.hash = hash; 
    }; 

if (hash !== '#header') { 
    // $hash.velocity('scroll', { duration: 500, offset: -50, complete: addHash }); // Velocity.js 
    $('html,body').animate({ 'scrollTop': $hash.offset().top -150 }, 700, addHash); 
} else { 
    // $hash.velocity('scroll', { duration: 500, offset: 0, complete: addHash }); // Velocity.js 
    $('html,body').animate({ 'scrollTop': $hash.offset().top }, 700, addHash); 
} 
e.preventDefault(); 
}); 
相關問題