我试图用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");
答案 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
删除了一个显示器我没注意到这么容易