Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery滚动到tab模块并使用锚链接打开tab_Javascript_Jquery_Wordpress_Tabs - Fatal编程技术网

Javascript Jquery滚动到tab模块并使用锚链接打开tab

Javascript Jquery滚动到tab模块并使用锚链接打开tab,javascript,jquery,wordpress,tabs,Javascript,Jquery,Wordpress,Tabs,我正在使用锚链接(在我的主菜单上)滚动到选项卡模块并打开正确的选项卡 我有一些代码运行良好,但有一个问题 如果选项卡内有锚定链接,则代码将不再滚动到该选项卡(尽管它确实打开) 。前两个选项卡内部没有锚定链接,工作正常。最后3个选项卡具有锚定链接,并已丢失其滚动 有人能在代码中看到任何可能导致这种行为的危险信号或问题吗 谢谢 <script type="text/javascript"> (function($) { $( document ).ready(function() { $

我正在使用锚链接(在我的主菜单上)滚动到选项卡模块并打开正确的选项卡

我有一些代码运行良好,但有一个问题

如果选项卡内有锚定链接,则代码将不再滚动到该选项卡(尽管它确实打开)

。前两个选项卡内部没有锚定链接,工作正常。最后3个选项卡具有锚定链接,并已丢失其滚动

有人能在代码中看到任何可能导致这种行为的危险信号或问题吗

谢谢

<script type="text/javascript">
(function($) {
$( document ).ready(function() {
$('.et_mobile_menu li a').click(function(){
$('.et_slide_in_menu_container .mobile_menu_bar').trigger('click');
console.log('done');
});
});
})(jQuery);

function _setTab(){
    // get current hash value
    var curHash = window.location.hash.substr(1);
    // only continue if hash provided and scoped to member tabs
    if( !curHash || !curHash.match('my-tabs') ){ return false; }

    // split and int val tab num
    curHash = parseInt(curHash.split('|')[1]);
    // ignore if tab is current state
    if( curHash === window._tabSelected ){ return false; }
    // set current tab to window
    window._tabSelected = curHash;

    // add click event to tab selected
    switch(curHash){
        case 0:
        case 1:
        case 2:
        case 3:
        case 4:
            jQuery('#my-tabs .et_pb_tab_'+curHash+' a').trigger('click');
        break;

        default:
            return false;
        break;
    }

    // scroll to tabs container
    _scrollToTabs();
}

// scroll to member tabs container with 50px offset
function _scrollToTabs(){
    var oTabs = jQuery('#my-tabs');
    if( oTabs.length > 0 ){
        jQuery('html,body').animate({
            scrollTop: (oTabs.offset().top - 50)
        }, 1000);
    }
    return false;
}

// set falsey state for tab selected on load
window._tabSelected = false;

// attach to window load because the tabs functions are initialized later in document
jQuery(window).on('load', function(){
    // check for initial hash state
    _setTab();

    // add hash change window listener
    jQuery(window).on('hashchange', function(){
        _setTab()
    });

    // void submenu when we are in member section 
    var curPath = window.location.pathname;
    if( curPath.match('midtown') ){
        // only change hash and do not reload page
        jQuery('#menu-item-665 ul li a').on('click', function(e){
            e.stopImmediatePropagation();
            window.location.hash = jQuery(this).prop('hash');
            return false;
        });
    }
});

(函数($){
$(文档).ready(函数(){
$('.et_mobile_menu li a')。单击(函数(){
$('.et_slide_in_menu_container.mobile_menu_bar')。触发器('click');
console.log('done');
});
});
})(jQuery);
函数_setTab(){
//获取当前哈希值
var curHash=window.location.hash.substr(1);
//仅当提供了哈希并将其范围限定到成员选项卡时才继续
如果(!curHash | |!curHash.match('my-tabs')){return false;}
//split和int val tab num
curHash=parseInt(curHash.split(“|”)[1]);
//如果选项卡为当前状态,则忽略
如果(curHash==window.\tabu selected){return false;}
//将当前选项卡设置为窗口
窗口。\ tabu selected=curHash;
//将单击事件添加到所选选项卡
开关(curHash){
案例0:
案例1:
案例2:
案例3:
案例4:
jQuery('#my tabs.et_pb_tab'+curHash+'a')。触发器('click');
打破
违约:
返回false;
打破
}
//滚动到选项卡容器
_滚动totabs();
}
//滚动到偏移量为50px的成员选项卡容器
函数_scrollToTabs(){
var oTabs=jQuery(“#我的标签”);
如果(otab.length>0){
jQuery('html,body')。动画({
scrollTop:(otab.offset().top-50)
}, 1000);
}
返回false;
}
//为加载时选择的选项卡设置错误状态
窗口。\ tabu selected=false;
//附加到窗口加载,因为选项卡函数稍后在文档中初始化
jQuery(window).on('load',function()){
//检查初始哈希状态
_setTab();
//添加哈希更改窗口侦听器
jQuery(window).on('hashchange',function()){
_setTab()
});
//当我们在成员区时,取消子菜单
var curPath=window.location.pathname;
if(curPath.match('midtown')){
//仅更改哈希,不重新加载页面
jQuery(“#菜单项-665 ul li a”)。在('click',函数(e)上{
e、 停止即时复制();
window.location.hash=jQuery(this.prop('hash');
返回false;
});
}
});

找到了问题。在单击事件中未正确调用正确的div容器

// add click event to tab selected
switch(curHash){
    case 0:
      jQuery('#my-tabs .et_pb_tabs_controls .et_pb_tab_'+curHash+' a').click();
      break;
    case 1:
      jQuery('#my-tabs .et_pb_tabs_controls .et_pb_tab_'+curHash+' a').click();
      break;
    case 2:
      jQuery('#my-tabs .et_pb_tabs_controls .et_pb_tab_'+curHash+' a').click();
      break;
    case 3:
      jQuery('#my-tabs .et_pb_tabs_controls .et_pb_tab_'+curHash+' a').click();
      break;
    case 4:
      jQuery('#my-tabs .et_pb_tabs_controls .et_pb_tab_'+curHash+' a').click();
    break;

    default:
        return false;
    break;
}