我正在尝试将来自 Skinkers Labs 的 TouchSwipe 插件与 jQuery Mobile 结合使用在我创建的移动网站上,该网站也利用了响应式设计。
触摸滑动:
http://labs.skinkers.com/touchSwipe/
我遇到的情况是我可以让 TouchSwipe 插件在移动设备上的普通页面上正常工作,但是一旦我添加了 jQuery Mobile js 文件,TouchSwipe 功能就不再起作用。
这是我收到的 JS 错误(在 jquery-1.7.1.js 的第 3256 行):
这是我在 HTML 中包含 JavaScript 的地方:
<script type="text/javascript" src="js/jquery-1.7.1.js"></script>
<script type="text/javascript" src="js/jquery.touchSwipe-1.2.5.min.js"></script>
<script type="text/javascript" src="js/main.js"></script>
<script type="text/javascript">
$("#divCheckingWrapper").live("pagecreate", function(event) {
var swipeOptions = {
swipeStatus: swipeStatus,
allowPageScroll: "vertical"
};
SWIPEABLE_NODES = $("#divCheckingSlider");
SWIPEABLE_NODES.swipe(swipeOptions);
CONTENT_WIDTH= SWIPEABLE_NODES.parent().width();
MAX_NODES = SWIPEABLE_NODES.find("div.divCheckingSliders").length;
});
</script>
<script type="text/javascript" src="js/jquery.mobile-1.1.0-rc.1.min.js"></script>
main.js 包含来自 TouchSwipe 站点的 Image Swipe 示例代码中的所有辅助函数:
http://labs.skinkers.com/touchSwipe/demo/image_scroll.php
知道为什么我会看到这个错误吗?一旦我删除了 jQuery Mobile javascript 文件,插件就可以正常工作,但我需要这个站点的 jQuery Mobile。
如果您愿意,我很乐意发布更多代码。如果您有任何问题或需要更多信息,请告诉我。
在此先感谢您的帮助!
最佳答案
你这样做是错误的。您在 TouchSwipe 之后加载 JQM,但 TouchSwipe 应该覆盖 JQM。这就像在墙之前建 window 一样。
我已经测试过并且一切正常,无需更改任何命名。您需要做的就是在 TouchSwipe 之前包含 JQM。
<script type="text/javascript" src="js/jquery-1.7.1.js"></script>
<script type="text/javascript" src="js/jquery.mobile-1.1.0-rc.1.min.js"></script>
<script type="text/javascript" src="js/jquery.touchSwipe-1.2.5.min.js"></script>
<script type="text/javascript" src="js/main.js"></script>
关于javascript - jQuery Mobile 和 TouchSwipe jQuery 插件错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9794927/