我有一个底部抽屉,固定在底部.轻敲时,抽屉将向上滑动并显示更多内容.在iOS 7上,当用户点击输入标签或textarea标签时,会弹出虚拟键盘.但是,当键盘弹出时,抽屉会跳到页面上而不是粘到底部.请参阅下图以获取说明.
我首先在Safari上遇到了这个问题,但是当键盘打开时,我添加了以下代码来将固定位置更改为绝对位置:
// Apple.Device detects if it is an apple device
if (Modernizr.touch && Apple.Device) {
/* cache dom references */
var $body = jQuery('body');
/* bind events */
$(document)
.on('focus', 'input, textarea', function(e) {
$body.addClass('fixfixed');
})
.on('blur', 'input, textarea', function(e) {
$body.removeClass('fixfixed');
});
}
Run Code Online (Sandbox Code Playgroud)
CSS代码:
.fixfixed #drawer {
bottom: 0;
margin-left: auto;
margin-right: auto;
position: absolute;
left: 0;
right: 0;
}
Run Code Online (Sandbox Code Playgroud)
此修复程序适用于iOS 7上的Safari,但它不适用于Chrome.此外,还有一个令人厌倦的行为:
如果页面上有输入标签,我在iPad上点击它,则虚拟键盘会打开,抽屉会跳起来.如果抽屉恰好覆盖了我点击的那个,则点击事件实际上会在抽屉上触发.这是为什么?
我该如何解决这个问题?(我一直在搜索,但如何在iOS上调试Chrome?)
非常感谢您的帮助!
更新
我使用以下代码来检测它是否是iOS 7上的Chrome,如果是这样,我会在虚拟键盘启动时隐藏抽屉,并在虚拟键盘关闭时重新显示抽屉.
function iOSversion() {
if (/iP(hone|od|ad)/.test(navigator.platform)) {
// supports iOS …
Run Code Online (Sandbox Code Playgroud) 我正在创建一个基于响应式网页设计的网页.因此,当它被调整为较小的分辨率时,导航菜单将从顶部栏中移除并变成iPhone Facebook/Path样式的移动滑动菜单.我用这个库实现了它.
同时,我在底部有一个固定的定位面板,可以上下拉动,停靠在页面底部.它非常接近这一点,只是我的底部可以拉起来.
以下是Chrome中的问题:当我滑出移动菜单并向后滑动时(它使用"-webkit-transform:translateX()"),固定定位的面板会中断其位置.
经过一些研究,它似乎是Chrome中的一个错误.但是,有解决方法吗?
可能的重复:使用-webkit-transform时修复的位置不起作用(我在答案中找不到任何解决方法)
非常感谢!
我按顺序有两个for循环.当我单独运行时,第一个for循环工作非常奇怪.但是当我单独运行第二个循环时,我得到一个超出范围异常错误的索引.有人可以帮我查看错误是什么吗?非常感谢!
for (i = NiPricePointer; i < 551; i++)
{
tempUpper = tempUpper + NiPriceCounter[i];
if (tempUpper >= (NiPriceRounds * 0.3))
{
chart3.Series["Upper 30%"].Points.AddXY(k * 500, ((i - 1) * 0.1 + 5));
break;
}
}
for (i = NiPricePointer; i>0; i--) //This loop always gives me out of range problems.
{
tempLower = tempLower + NiPriceCounter[i];
if (tempLower >= (NiPriceRounds * 0.3))
{
chart3.Series["Lower 30%"].Points.AddXY(k * 500, ((i - 1) * 0.1 + 5));
break;
}
}
Run Code Online (Sandbox Code Playgroud)
数组的初始化:
int[] …
Run Code Online (Sandbox Code Playgroud)