繁体   English   中英

Jscrollpane和内部锚链接

[英]Jscrollpane and internal anchor links

我正在使用Jscrollpane,并且一切正常,除非我尝试将其与内部锚一起使用。 它应该像官方页面上的示例一样工作。

但是在我的示例中,它确实破坏了我的网站。 整个内容是向上浮动的,我自己也无法弄清楚。

这是我的页面: http : //kunden.kunstrasen.at/htmltriest/index.php? site= dieanreise& user_lang=de ,如果单击了内部锚点: http : //kunden.kunstrasen.at/htmltriest/index.php?网站= dieanreise&user_lang = DE#westautobahn

有人clou这是怎么回事? 谢谢你的帮助。

jspane不适用于旧式锚点,例如

<a name="anchor"></a>

相反,你必须写

<a id="anchor"></a>

另外,您必须启用

hijackInternalLinks: true;

在jScrollPane设置对象中。

hijackInternalLinks还会从滚动窗格外部捕获链接,如果只需要内部链接,则可以添加此代码,例如hijackInternalLinks,它将绑定a元素上的点击功能,并使用目标调用scrollToElement:

            \$(document).ready(function() {
            panes = \$(".scroll");
            //hijackInternalLinks: true;
            panes.jScrollPane({
            });
            panes.each(function(i,obj){
                var pane = \$(obj);
                var api = pane.data('jsp');
                var links = pane.find("a");
                links.bind('click', function() {
                    var uriParts = this.href.split('#');
                    if (uriParts.length == 2) {
                        var target = '#' + uriParts[1];
                        try{
                            api.scrollToElement(target, true);
                        }catch(e){
                            alert(e);
                        }
                        return false;
                    }
                });
            });
        });

但请注意,您将始终必须在标签上使用id属性。 如果您使用tinymce,则可以使用此功能修复代码

function myCustomCleanup(type, value) {
    switch (type) {
            case "get_from_editor_dom":
                    var as = value.getElementsByTagName("a");
                    for(var i=0; i< as.length;i++){
                        if (as[i].hasAttribute('name')){
                            var name = as[i].getAttribute('name');
                            as[i].setAttribute('id',name);
                        }
                    }
                    break;
    }

    return value;

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM