我目前有一个可在桌面浏览器和平板电脑上运行的 Web 应用程序。除了 jquery 移动滚动视图之外,我得到了一切工作并听取了正确的事件类型。
我将此插件用于底部的导航栏。它适用于除 Internet Explorer 之外的所有浏览器。有谁知道要更改文件中的哪些内容以使其正常工作?
我还找到了插件 iScroll,但这个插件没有提供相同的功能。如果可能的话,我宁愿继续使用 jquery mobile scrollview。
我目前有一个可在桌面浏览器和平板电脑上运行的 Web 应用程序。除了 jquery 移动滚动视图之外,我得到了一切工作并听取了正确的事件类型。
我将此插件用于底部的导航栏。它适用于除 Internet Explorer 之外的所有浏览器。有谁知道要更改文件中的哪些内容以使其正常工作?
我还找到了插件 iScroll,但这个插件没有提供相同的功能。如果可能的话,我宁愿继续使用 jquery mobile scrollview。
为了让jquery mobile scrollview能和IE一起工作,修改jquery.mobile.scrollview.js第22行为: > scrollMethod: "scroll", // "translate", "position", "scroll" 这是默认设置的关于翻译,IE 不支持。
您可以在创建对象时通过首先检查浏览器是否为 IE 来设置选项,而不是编辑 jquery.mobile.scrollview.js:
if($.browser.msie){
opts.scrollMethod = "scroll";
}
在页面创建功能中使用它
var $page = $( this );
// For the demos that use this script, we want the content area of each
// page to be scrollable in the 'y' direction.
//$page.find( ".ui-content" ).attr( "data-" + $.mobile.ns + "scroll", "y" );
// This code that looks for [data-scroll] will eventually be folded
// into the jqm page processing code when scrollview support is "official"
// instead of "experimental".
$page.find( ":jqmData(scroll):not(.ui-scrollview-clip)" ).each(function () {
var $this = $( this );
// XXX: Remove this check for ui-scrolllistview once we've
// integrated list divider support into the main scrollview class.
if ( $this.hasClass( "ui-scrolllistview" ) ) {
$this.scrolllistview();
scrollViewObj = $this;
} else {
var st = $this.jqmData( "scroll" ) + "",
paging = st && st.search(/^[xy]p$/) != -1,
dir = st && st.search(/^[xy]/) != -1 ? st.charAt(0) : null,
opts = {
direction: dir || undefined,
paging: paging || undefined,
scrollMethod: $this.jqmData("scroll-method") || undefined
};
if($.browser.msie){
opts.scrollMethod = "scroll";
}
$this.scrollview( opts );
scrollViewObj = $this;
}
});
它可能无法在 IE 上运行。jQuery mobile 非常基于 HTML5,IE 不太符合 HTML5。
最好的办法是查看chrome 框架,让 Google 解决 IE 中缺乏 HTML5 支持的问题。实现起来非常简单,网站上有模板,它也应该加速网站上的其余 JavaScript。
希望有帮助!