[英]callback function when navigation element has a class “active” jquery plugin
我正在使用[ScrollIt] [1]插件,該插件會自動在導航元素上添加“活動”類,並使其易於創建具有特征的垂直滾動頁面。
每當活動類不在帶有href="#home"
的錨點元素上時,我想更改導航的不透明度。
但是我不知道如何檢查當前活動的項目是否是沒有此href="#home"
的元素,如果不是,則不添加透明度。
我嘗試過的更新:
function myCallBackFunction() {
$('.navbar').css("opacity",this.is('[href="#home"]') ? 1 : 0);
}
var updateActive = function(ndx,myCallbackFunction) {
if(settings.onPageChange && ndx && (active != ndx)) settings.onPageChange(ndx);
active = ndx;
$('[data-scroll-nav]').removeClass(settings.activeClass);
$('[data-scroll-nav=' + ndx + ']').addClass(settings.activeClass);
myCallbackFunction.call($('[data-scroll-nav=' + ndx + ']'));
};
我收到此錯誤: Uncaught TypeError: Cannot call method 'call' of undefined
關於如何執行此操作的任何建議?
試試,如果我了解您要尋找的行為:
$('.navbar').css("opacity",$('[data-scroll-nav][href="#home"].active').length?0:1);
調用回調時 ,可以使用.call()
來實現以下目的:
var updateActive = function(ndx, myCallbackFunction) {
//the original code
myCallbackFunction.call($('[data-scroll-nav=' + ndx + ']'));
}
然后在您的函數中,檢查this
:
function myCallBackFunction() {
$('.navbar').css("opacity",this.is('[href="#home"]') ? 1 : 0);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.