Snap.js右侧边栏没有显示

时间:2015-09-29 22:22:43

标签: javascript jquery snapjs

我试图用snap.js创建两个可拖动的侧边栏。 没有显示右侧边栏,而是左侧边栏。

codepen demo: http://codepen.io/anon/pen/pjREZg

var snapper = new Snap({
     element: document.getElementById('content'),
     hyperextensible: false
});

var addEvent = function addEvent(element, eventName, func) {
    if (element.addEventListener) {
        return element.addEventListener(eventName, func, false);
    } else if (element.attachEvent) {
        return element.attachEvent("on" + eventName, func);
    }
};

addEvent(document.getElementById('open-left'), 'click', function(){
    if( snapper.state().state=="left" ){
       snapper.close('left');
    }else {
        snapper.open('left');
    }
});

$('#open-right').click(function(){
    if( snapper.state().state=="right" ){
       snapper.close('right');
    }else {
        snapper.open('right');
    }
});

/* Prevent Safari opening links when viewing as a Mobile App */
(function (a, b, c) {
    if(c in b && b[c]) {
        var d, e = a.location,
            f = /^(a|html)$/i;
        a.addEventListener("click", function (a) {
            d = a.target;
            while(!f.test(d.nodeName)) d = d.parentNode;
            "href" in d && (d.href.indexOf("http") || ~d.href.indexOf(e.host)) && (a.preventDefault(), e.href = d.href)
        }, !1)
    }
})(document, window.navigator, "standalone");

2 个答案:

答案 0 :(得分:0)

您正尝试从两个按钮调用单个侧边栏。

您需要创建另一个可以使用右键控制的侧边栏实例,如下所示:

var snapper2 = new Snap({
     element: document.getElementById('content'),
     hyperextensible: false
});

$('#open-right').click(function(){
    if( snapper2.state().state=="right" ){
       snapper2.close('right');
   }else {
       snapper2.open('right');
   }
});

答案 1 :(得分:0)

对不起,我在发布问题后一分钟就解决了......经过一夜的麻烦。

刚从 .snapjs-right .snap-drawer-right

删除了一个显示器

我没注意到这么容易