Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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 如何在jQuery Mobile中使用Snap.js面板?_Javascript_Jquery_Jquery Mobile_Snap.js - Fatal编程技术网

Javascript 如何在jQuery Mobile中使用Snap.js面板?

Javascript 如何在jQuery Mobile中使用Snap.js面板?,javascript,jquery,jquery-mobile,snap.js,Javascript,Jquery,Jquery Mobile,Snap.js,有人知道如何在jQuery Mobile中设置吗?我正在尝试从jquerymobilepanel小部件迁移,它有主要的滚动问题 HTML: 我不明白有什么问题?单击事件绑定时出现JavaScript错误,我只是将其更改为类似jQuery的绑定 工作示例: 我不明白有什么问题?单击事件绑定时出现JavaScript错误,我只是将其更改为类似jQuery的绑定 工作示例: 我不明白有什么问题?单击事件绑定时出现JavaScript错误,我只是将其更改为类似jQuery的绑定 工作示例: 我不明白有

有人知道如何在jQuery Mobile中设置吗?我正在尝试从jquerymobilepanel小部件迁移,它有主要的滚动问题

HTML:


我不明白有什么问题?单击事件绑定时出现JavaScript错误,我只是将其更改为类似jQuery的绑定

工作示例:


我不明白有什么问题?单击事件绑定时出现JavaScript错误,我只是将其更改为类似jQuery的绑定

工作示例:


我不明白有什么问题?单击事件绑定时出现JavaScript错误,我只是将其更改为类似jQuery的绑定

工作示例:


我不明白有什么问题?单击事件绑定时出现JavaScript错误,我只是将其更改为类似jQuery的绑定

工作示例:


根据snap-js,您不需要将snap-js-html内容放在jQuery移动页面内容html中

您可以将页面分为两部分,snap nav部分和实际的jQuery移动html结构

工作演示

我在代码笔中使用了jQuery+jQuery Mobile 1.4.2(JS)+jQuery Mobile 1.4.2(CSS)+Snap JS+Snap CSS作为资源,您可以在特定的JS&CSS部分设置按钮中查看它们

代码结构-两侧不同的菜单

<body>
<!-- Snap Js Code Comes Here -->
    <div class="snap-drawers">
        <div class="snap-drawer snap-drawer-left">
            <div>
                <ul>
                    <li><a href="default.html">Default</a></li>
                    <li><a href="noDrag.html">No Drag</a></li>
                    <li><a href="dragElement.html">Drag Element</a></li>
                    <li><a href="rightDisabled.html">Right Disabled</a></li>
                    <li><a href="hyperextend.html">Hyperextension Disabled</a></li>
                </ul>
            </div>
        </div>
        <div class="snap-drawer snap-drawer-right">
            <ul>
                <li><a href="default.html">Default</a></li>
                <li><a href="noDrag.html">No Drag</a></li>
                <li><a href="dragElement.html">Drag Element</a></li>
                <li><a href="rightDisabled.html">Right Disabled</a></li>
            </ul>
        </div>
    </div>
<!-- Snap Js Code Ends Here -->

<!-- Jquery Mobile Code Comes Here -->
    <div data-role="page" id="content">
        <div data-role="header" data-position="fixed">
            <h4>&copy; Test App</h4>
        </div>
        <div role="main" class="ui-content">
            Some Page Content
        </div>
        <div data-role="footer" data-position="fixed">
            <h4>&copy; Test App</h4>
        </div>
    </div>
</body>
现在启动快照导航-

var snapper = new Snap({
    element: document.getElementById('content')
});
现在应该可以了

两侧具有相同菜单的备选示例

<body>
<!-- Snap Js Code Comes Here -->
    <div class="snap-drawers">
        <div class="snap-drawer snap-drawer-left">
            <div>
                <ul>
                    <li><a href="default.html">Default</a></li>
                    <li><a href="noDrag.html">No Drag</a></li>
                    <li><a href="dragElement.html">Drag Element</a></li>
                    <li><a href="rightDisabled.html">Right Disabled</a></li>
                    <li><a href="hyperextend.html">Hyperextension Disabled</a></li>
                </ul>
            </div>
        </div>
        <div class="snap-drawer snap-drawer-right">
            <ul>
                <li><a href="default.html">Default</a></li>
                <li><a href="noDrag.html">No Drag</a></li>
                <li><a href="dragElement.html">Drag Element</a></li>
                <li><a href="rightDisabled.html">Right Disabled</a></li>
            </ul>
        </div>
    </div>
<!-- Snap Js Code Ends Here -->

<!-- Jquery Mobile Code Comes Here -->
    <div data-role="page" id="content">
        <div data-role="header" data-position="fixed">
            <h4>&copy; Test App</h4>
        </div>
        <div role="main" class="ui-content">
            Some Page Content
        </div>
        <div data-role="footer" data-position="fixed">
            <h4>&copy; Test App</h4>
        </div>
    </div>
</body>
此外,如果要在两侧显示相同的菜单,只需从“快照抽屉”的“右”分区中删除菜单项,并仅在左侧保留菜单项,如下所示-

<div class="snap-drawer snap-drawer-left">
    <div>
        <ul>
            <li><a href="default.html">Default</a></li>
            <li><a href="noDrag.html">No Drag</a></li>
            <li><a href="dragElement.html">Drag Element</a></li>
            <li><a href="rightDisabled.html">Right Disabled</a></li>
            <li><a href="hyperextend.html">Hyperextension Disabled</a></li>
        </ul>
    </div>
</div>
<div class="snap-drawer snap-drawer-right"></div>

使用演示-

根据snap js,您不需要将snap js html内容放在jQuery移动页面内容html中

您可以将页面分为两部分,snap nav部分和实际的jQuery移动html结构

工作演示

我在代码笔中使用了jQuery+jQuery Mobile 1.4.2(JS)+jQuery Mobile 1.4.2(CSS)+Snap JS+Snap CSS作为资源,您可以在特定的JS&CSS部分设置按钮中查看它们

代码结构-两侧不同的菜单

<body>
<!-- Snap Js Code Comes Here -->
    <div class="snap-drawers">
        <div class="snap-drawer snap-drawer-left">
            <div>
                <ul>
                    <li><a href="default.html">Default</a></li>
                    <li><a href="noDrag.html">No Drag</a></li>
                    <li><a href="dragElement.html">Drag Element</a></li>
                    <li><a href="rightDisabled.html">Right Disabled</a></li>
                    <li><a href="hyperextend.html">Hyperextension Disabled</a></li>
                </ul>
            </div>
        </div>
        <div class="snap-drawer snap-drawer-right">
            <ul>
                <li><a href="default.html">Default</a></li>
                <li><a href="noDrag.html">No Drag</a></li>
                <li><a href="dragElement.html">Drag Element</a></li>
                <li><a href="rightDisabled.html">Right Disabled</a></li>
            </ul>
        </div>
    </div>
<!-- Snap Js Code Ends Here -->

<!-- Jquery Mobile Code Comes Here -->
    <div data-role="page" id="content">
        <div data-role="header" data-position="fixed">
            <h4>&copy; Test App</h4>
        </div>
        <div role="main" class="ui-content">
            Some Page Content
        </div>
        <div data-role="footer" data-position="fixed">
            <h4>&copy; Test App</h4>
        </div>
    </div>
</body>
现在启动快照导航-

var snapper = new Snap({
    element: document.getElementById('content')
});
现在应该可以了

两侧具有相同菜单的备选示例

<body>
<!-- Snap Js Code Comes Here -->
    <div class="snap-drawers">
        <div class="snap-drawer snap-drawer-left">
            <div>
                <ul>
                    <li><a href="default.html">Default</a></li>
                    <li><a href="noDrag.html">No Drag</a></li>
                    <li><a href="dragElement.html">Drag Element</a></li>
                    <li><a href="rightDisabled.html">Right Disabled</a></li>
                    <li><a href="hyperextend.html">Hyperextension Disabled</a></li>
                </ul>
            </div>
        </div>
        <div class="snap-drawer snap-drawer-right">
            <ul>
                <li><a href="default.html">Default</a></li>
                <li><a href="noDrag.html">No Drag</a></li>
                <li><a href="dragElement.html">Drag Element</a></li>
                <li><a href="rightDisabled.html">Right Disabled</a></li>
            </ul>
        </div>
    </div>
<!-- Snap Js Code Ends Here -->

<!-- Jquery Mobile Code Comes Here -->
    <div data-role="page" id="content">
        <div data-role="header" data-position="fixed">
            <h4>&copy; Test App</h4>
        </div>
        <div role="main" class="ui-content">
            Some Page Content
        </div>
        <div data-role="footer" data-position="fixed">
            <h4>&copy; Test App</h4>
        </div>
    </div>
</body>
此外,如果要在两侧显示相同的菜单,只需从“快照抽屉”的“右”分区中删除菜单项,并仅在左侧保留菜单项,如下所示-

<div class="snap-drawer snap-drawer-left">
    <div>
        <ul>
            <li><a href="default.html">Default</a></li>
            <li><a href="noDrag.html">No Drag</a></li>
            <li><a href="dragElement.html">Drag Element</a></li>
            <li><a href="rightDisabled.html">Right Disabled</a></li>
            <li><a href="hyperextend.html">Hyperextension Disabled</a></li>
        </ul>
    </div>
</div>
<div class="snap-drawer snap-drawer-right"></div>

使用演示-

根据snap js,您不需要将snap js html内容放在jQuery移动页面内容html中

您可以将页面分为两部分,snap nav部分和实际的jQuery移动html结构

工作演示

我在代码笔中使用了jQuery+jQuery Mobile 1.4.2(JS)+jQuery Mobile 1.4.2(CSS)+Snap JS+Snap CSS作为资源,您可以在特定的JS&CSS部分设置按钮中查看它们

代码结构-两侧不同的菜单

<body>
<!-- Snap Js Code Comes Here -->
    <div class="snap-drawers">
        <div class="snap-drawer snap-drawer-left">
            <div>
                <ul>
                    <li><a href="default.html">Default</a></li>
                    <li><a href="noDrag.html">No Drag</a></li>
                    <li><a href="dragElement.html">Drag Element</a></li>
                    <li><a href="rightDisabled.html">Right Disabled</a></li>
                    <li><a href="hyperextend.html">Hyperextension Disabled</a></li>
                </ul>
            </div>
        </div>
        <div class="snap-drawer snap-drawer-right">
            <ul>
                <li><a href="default.html">Default</a></li>
                <li><a href="noDrag.html">No Drag</a></li>
                <li><a href="dragElement.html">Drag Element</a></li>
                <li><a href="rightDisabled.html">Right Disabled</a></li>
            </ul>
        </div>
    </div>
<!-- Snap Js Code Ends Here -->

<!-- Jquery Mobile Code Comes Here -->
    <div data-role="page" id="content">
        <div data-role="header" data-position="fixed">
            <h4>&copy; Test App</h4>
        </div>
        <div role="main" class="ui-content">
            Some Page Content
        </div>
        <div data-role="footer" data-position="fixed">
            <h4>&copy; Test App</h4>
        </div>
    </div>
</body>
现在启动快照导航-

var snapper = new Snap({
    element: document.getElementById('content')
});
现在应该可以了

两侧具有相同菜单的备选示例

<body>
<!-- Snap Js Code Comes Here -->
    <div class="snap-drawers">
        <div class="snap-drawer snap-drawer-left">
            <div>
                <ul>
                    <li><a href="default.html">Default</a></li>
                    <li><a href="noDrag.html">No Drag</a></li>
                    <li><a href="dragElement.html">Drag Element</a></li>
                    <li><a href="rightDisabled.html">Right Disabled</a></li>
                    <li><a href="hyperextend.html">Hyperextension Disabled</a></li>
                </ul>
            </div>
        </div>
        <div class="snap-drawer snap-drawer-right">
            <ul>
                <li><a href="default.html">Default</a></li>
                <li><a href="noDrag.html">No Drag</a></li>
                <li><a href="dragElement.html">Drag Element</a></li>
                <li><a href="rightDisabled.html">Right Disabled</a></li>
            </ul>
        </div>
    </div>
<!-- Snap Js Code Ends Here -->

<!-- Jquery Mobile Code Comes Here -->
    <div data-role="page" id="content">
        <div data-role="header" data-position="fixed">
            <h4>&copy; Test App</h4>
        </div>
        <div role="main" class="ui-content">
            Some Page Content
        </div>
        <div data-role="footer" data-position="fixed">
            <h4>&copy; Test App</h4>
        </div>
    </div>
</body>
此外,如果要在两侧显示相同的菜单,只需从“快照抽屉”的“右”分区中删除菜单项,并仅在左侧保留菜单项,如下所示-

<div class="snap-drawer snap-drawer-left">
    <div>
        <ul>
            <li><a href="default.html">Default</a></li>
            <li><a href="noDrag.html">No Drag</a></li>
            <li><a href="dragElement.html">Drag Element</a></li>
            <li><a href="rightDisabled.html">Right Disabled</a></li>
            <li><a href="hyperextend.html">Hyperextension Disabled</a></li>
        </ul>
    </div>
</div>
<div class="snap-drawer snap-drawer-right"></div>

使用演示-

根据snap js,您不需要将snap js html内容放在jQuery移动页面内容html中

您可以将页面分为两部分,snap nav部分和实际的jQuery移动html结构

工作演示

我在代码笔中使用了jQuery+jQuery Mobile 1.4.2(JS)+jQuery Mobile 1.4.2(CSS)+Snap JS+Snap CSS作为资源,您可以在特定的JS&CSS部分设置按钮中查看它们

代码结构-两侧不同的菜单

<body>
<!-- Snap Js Code Comes Here -->
    <div class="snap-drawers">
        <div class="snap-drawer snap-drawer-left">
            <div>
                <ul>
                    <li><a href="default.html">Default</a></li>
                    <li><a href="noDrag.html">No Drag</a></li>
                    <li><a href="dragElement.html">Drag Element</a></li>
                    <li><a href="rightDisabled.html">Right Disabled</a></li>
                    <li><a href="hyperextend.html">Hyperextension Disabled</a></li>
                </ul>
            </div>
        </div>
        <div class="snap-drawer snap-drawer-right">
            <ul>
                <li><a href="default.html">Default</a></li>
                <li><a href="noDrag.html">No Drag</a></li>
                <li><a href="dragElement.html">Drag Element</a></li>
                <li><a href="rightDisabled.html">Right Disabled</a></li>
            </ul>
        </div>
    </div>
<!-- Snap Js Code Ends Here -->

<!-- Jquery Mobile Code Comes Here -->
    <div data-role="page" id="content">
        <div data-role="header" data-position="fixed">
            <h4>&copy; Test App</h4>
        </div>
        <div role="main" class="ui-content">
            Some Page Content
        </div>
        <div data-role="footer" data-position="fixed">
            <h4>&copy; Test App</h4>
        </div>
    </div>
</body>
现在启动快照导航-

var snapper = new Snap({
    element: document.getElementById('content')
});
现在应该可以了

两侧具有相同菜单的备选示例

<body>
<!-- Snap Js Code Comes Here -->
    <div class="snap-drawers">
        <div class="snap-drawer snap-drawer-left">
            <div>
                <ul>
                    <li><a href="default.html">Default</a></li>
                    <li><a href="noDrag.html">No Drag</a></li>
                    <li><a href="dragElement.html">Drag Element</a></li>
                    <li><a href="rightDisabled.html">Right Disabled</a></li>
                    <li><a href="hyperextend.html">Hyperextension Disabled</a></li>
                </ul>
            </div>
        </div>
        <div class="snap-drawer snap-drawer-right">
            <ul>
                <li><a href="default.html">Default</a></li>
                <li><a href="noDrag.html">No Drag</a></li>
                <li><a href="dragElement.html">Drag Element</a></li>
                <li><a href="rightDisabled.html">Right Disabled</a></li>
            </ul>
        </div>
    </div>
<!-- Snap Js Code Ends Here -->

<!-- Jquery Mobile Code Comes Here -->
    <div data-role="page" id="content">
        <div data-role="header" data-position="fixed">
            <h4>&copy; Test App</h4>
        </div>
        <div role="main" class="ui-content">
            Some Page Content
        </div>
        <div data-role="footer" data-position="fixed">
            <h4>&copy; Test App</h4>
        </div>
    </div>
</body>
此外,如果要在两侧显示相同的菜单,只需从“快照抽屉”的“右”分区中删除菜单项,并仅在左侧保留菜单项,如下所示-

<div class="snap-drawer snap-drawer-left">
    <div>
        <ul>
            <li><a href="default.html">Default</a></li>
            <li><a href="noDrag.html">No Drag</a></li>
            <li><a href="dragElement.html">Drag Element</a></li>
            <li><a href="rightDisabled.html">Right Disabled</a></li>
            <li><a href="hyperextend.html">Hyperextension Disabled</a></li>
        </ul>
    </div>
</div>
<div class="snap-drawer snap-drawer-right"></div>

工作演示-

除了我下面用codepen实现的答案之外,我还为您提供了新的解决方案,并对其进行了更新,以使其能够进行所需的更改-。请注意,JSFIDLE可能无法触发pagecontainershow事件,因此我已将其删除。这是jQM panel Scroll的CSS修复程序。除了我下面的答案,在codepen中实现外,我还对您的FIDLE进行了分叉和更新,以使其与所需的更改一起工作-。请注意,JSFIDLE可能无法触发pagecontainershow事件,因此我已将其删除。这是jQM panel Scroll的CSS修复程序。除了我下面的答案,在codepen中实现外,我还对您的FIDLE进行了分叉和更新,以使其与所需的更改一起工作-。请注意,JSFIDLE可能无法触发pagecontainershow事件,因此我已将其删除。这是jQM panel Scroll的CSS修复程序。除了我下面的答案,在codepen中实现外,我还对您的FIDLE进行了分叉和更新,以使其与所需的更改一起工作-。请注意,JSFIDLE可能无法触发pagecontainershow事件,因此我已将其删除。这是一个针对jQM面板滚动的CSS修复程序,非常感谢!!希望我能把你们的答案都标记为正确,但@Gajotres是第一个,所以:(谢谢。很高兴我能帮上忙。我看到了javascript错误,但后来我发现您的实现是错误的。因此,我会继续以正确的方式创建一个。正如您在@Gajotres fiddle中所看到的,您的导航在reveal上不可见,您的标题按钮保持在打开的面板顶部,而我的输出显示了整个页面幻灯片左和右如预期。真棒:)使您的