停止手机上的javascript函数
我有一个JS函数,它将所有内容集中在页面上。这在页面开始时调用,并在调整窗口大小时自动居中 我需要一种方法,使功能不居中任何东西时,网页加载到移动设备上停止手机上的javascript函数,javascript,jquery,Javascript,Jquery,我有一个JS函数,它将所有内容集中在页面上。这在页面开始时调用,并在调整窗口大小时自动居中 我需要一种方法,使功能不居中任何东西时,网页加载到移动设备上 /** * This method centers a DOM element vertically and horizontally * on the page. * * @param {object} elementHandle The object that is going to be
/**
* This method centers a DOM element vertically and horizontally
* on the page.
*
* @param {object} elementHandle The object that is going to be
* centered.
*/
centerElementOnPage: function(elementHandle) {
// Center main frame vertical middle
$(window).resize(function() {
var elementLeft = ($(window).width() - elementHandle.outerWidth()) / 2;
var elementTop = ($(window).height() - elementHandle.outerHeight()) / 2;
elementTop = (elementTop > 0 ) ? elementTop : 20;
elementHandle.css({
position: 'absolute',
left: elementLeft,
top: elementTop
});
});
$(window).resize();
},
编辑:
谢谢你的css。JS搞乱了页面的其他方面,所以css很有帮助。您考虑过使用css媒体查询吗?根据屏幕大小,可以居中/不居中。此外,除了根据屏幕大小猜测之外,没有可靠的方法来确定它是否是一个“移动设备”,即使是使用JS。探测用户代理也不可靠 一个非常粗糙和简单的例子:
/* Center all the things! */
@media (min-width: 500px) {
div {
margin: 0 auto;
text-aling: left;
}
}
/* No fun allowed :( */
@media (max-width: 499px) {
div {
margin: 0;
text-aling: left;
}
}
一个重要的音符这在旧浏览器中不受支持-主要是IE8。
只需检测是否在手机上,如果是,则不运行代码。看到了吗,你最好不要使用移动设备仅在移动设备上,或者在移动设备和iPad上都使用?仅在移动设备上,任何宽度低于500px或宽度低于500px的东西通常都会描述我笔记本电脑上浏览器的窗口大小。