Javascript 如何将固定div添加到snap.js?

Javascript 如何将固定div添加到snap.js?,javascript,css,snap.js,Javascript,Css,Snap.js,我正在尝试向snap.js()中的内容包装器添加一个固定的div。我尝试的一切都失败了,因为snap.js使用所有固定元素推送整个画布。这有什么黑客吗 我在这里模拟了我想要达到的效果 更新: 在进一步研究这个问题之后,我得出结论,这个固定的div将需要一个事件侦听器来触发一个相反的转换:translate3d。该脚本通过将transform:translate3d设置为与左抽屉相同的宽度来工作。以下是片段: x: function(n) { if( (settin

我正在尝试向snap.js()中的内容包装器添加一个固定的div。我尝试的一切都失败了,因为snap.js使用所有固定元素推送整个画布。这有什么黑客吗

我在这里模拟了我想要达到的效果

更新: 在进一步研究这个问题之后,我得出结论,这个固定的div将需要一个事件侦听器来触发一个相反的转换:translate3d。该脚本通过将transform:translate3d设置为与左抽屉相同的宽度来工作。以下是片段:

x: function(n) {
                if( (settings.disable=='left' && n>0) ||
                    (settings.disable=='right' && n<0)
                ){ return; }

                n = parseInt(n, 10);
                if(isNaN(n)){
                    n = 0;
                }

                if( utils.canTransform() ){
                    var theTranslate = 'translate3d(' + n + 'px, 0,0)';
                    settings.element.style[cache.vendor+'Transform'] = theTranslate;
                } else {
                    settings.element.style.width = (win.innerWidth || doc.documentElement.clientWidth)+'px';

                    settings.element.style.left = n+'px';
                    settings.element.style.right = '';
                }
x:函数(n){
如果((settings.disable=='left'&&n>0)||

(settings.disable=='right'&&n您尝试过绝对元素而不是固定元素吗

如果保留固定元素,则必须在此元素上添加动画,以便与菜单同时移动

固定元素基于页面的相同源(左上角),如果将其放入其他元素中,则相同


绝对是基于第一个元素是相对的。

最后,我找到了时间来帮助你。 是的,你必须反转容器的过渡,它保存你的图像

你不得不对雅各布的剧本稍加改进

首先定义一个容器,在“快照内容”容器中包含一个图像

<div id="invertTransDiv">
    <div class="infotext">This DIV (with the red border and it's background image) translates inverted</div>
</div>
然后增强Jacob的脚本

不要在这里谈论太多细节,去听他的小提琴吧 这里的关键点只是在初始化时添加反向Div:

var snapper = new Snap({
element: document.getElementById('content'),
invertedDiv: document.getElementById('invertTransDiv')
}))

然后你必须“简单地;-)”,用负因子(-1)反转,但是你会在小提琴上看到。看看JS部分的注释,如(大约有五到六个)
/*------TESTINVERT*/

var snapper = new Snap({
element: document.getElementById('content'),
invertedDiv: document.getElementById('invertTransDiv')