Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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正在影响每一个锚,我想做一些例外_Javascript_Scroll_Popup_Anchor - Fatal编程技术网

javascript正在影响每一个锚,我想做一些例外

javascript正在影响每一个锚,我想做一些例外,javascript,scroll,popup,anchor,Javascript,Scroll,Popup,Anchor,所以我有一个脚本可以平滑地滚动整个页面。剧本不错。它使用锚来实现这一点。所以导航菜单基本上说是“关于我”或其他什么,当点击时,整个页面滚动到关于我的部分。但它的编程功能是,当我点击一个内部锚定链接时,它会将浏览器视图带到左上方。这很好,因为我想滚动整个页面 但是 我正在使用另一个脚本,它允许我点击菜单上的一个选项,然后会弹出一个小窗口,告诉我相关信息。但是,由于之前的滚动脚本,整个页面移动,并将新的弹出窗口放在左上方 苏欧?有什么想法吗 init: function () { var l

所以我有一个脚本可以平滑地滚动整个页面。剧本不错。它使用锚来实现这一点。所以导航菜单基本上说是“关于我”或其他什么,当点击时,整个页面滚动到关于我的部分。但它的编程功能是,当我点击一个内部锚定链接时,它会将浏览器视图带到左上方。这很好,因为我想滚动整个页面

但是

我正在使用另一个脚本,它允许我点击菜单上的一个选项,然后会弹出一个小窗口,告诉我相关信息。但是,由于之前的滚动脚本,整个页面移动,并将新的弹出窗口放在左上方

苏欧?有什么想法吗

init: function () {
    var lnks = document.getElementsByTagName('a');
    for (var i = 0, lnk; lnk = lnks[i]; i++) {
        if ((lnk.href && lnk.href.indexOf('#') != -1) && ((lnk.pathname == location.pathname) || ('/' + lnk.pathname == location.pathname)) && (lnk.search == location.search)) {
            addEvent(lnk, 'click', HtinyScrolling.initScroll, false);
            lnk.onclick = function () {
                return false;
            } // Safari 
        }
    }

重写滚动脚本,使其不影响菜单中的定位。在没有看到任何代码的情况下,我很难准确地说出要更改什么


解决此问题的最佳方法是使滚动脚本只影响特定css类的锚,例如
.scrollable
,或者,也可以使其不影响具有特定类的锚定,例如,如果选项菜单中的每个选项都带有class
。option
,则禁用脚本以用于具有class
。option
的锚定。如果我能看到您代码的相关部分,我可以进一步帮助您

“有什么想法吗?”当然。重写滚动脚本,使其仅影响所需的锚。您的问题不清楚,但是,如果您希望某些锚不受影响,可以使用not函数从原始选择中忽略它们@AdamRackis:这里正在使用jQuery吗?@RightSaidFred-我想是的。我想不出有什么理由在2011年任何人都不会在网站上使用jQuery,但我猜基于OP的假设是错误的comment@AdamRackis:我能。2011年的情况比以往任何时候都更糟。
code
init:function(){var lnks=document.getElementsByTagName('a');for(var i=0,lnk;lnk=lnks[i];i++{if((lnk.href&&lnk.href.indexOf('#')!=-1)和((lnk.pathname==location.pathname)|('/'+lnk.pathname==location.pathname==location.pathname))&(lnk.search==location.search==location)){addEvent(lnk,'click',HtinyScrolling.initScroll,false);lnk.onclick=function(){return false;}//Safari}