几个星期以来,我一直在努力解决这个问题。有很多事情要做,所以我会尽我所能解释。但我想解决的是,当移动设备或平板电脑上的页面上下滑动时,网站粘性导航中的一个奇怪的闪烁。它只在两个页面上这样做,所以我知道与粘性头jQuery和这些页面上的其他一些javascript函数有冲突。
因此,我们使用这个移动检测类来检测移动浏览器和平板浏览器。我们还使用jQuery移动库利用滑动手势在图像滑块中滑动。我遇到的主要页面是工作页:http://hybridmediadesign.com/work,它没有滑块,但使用同位素。
jQuery移动库似乎是导致闪烁的原因,因为删除它可以消除闪烁。这就像当你点击或滑动你的设备时,它会随机地导致标题导航失去它的持久类。
因此,我甚至不知道在这里显示什么代码,但是下面是用于粘性头的jQuery:
<script>
window.weAreLoaded = false;
(function($) {
var documentBind = ($.browser.mobile == true ? 'pageinit' : 'ready');
$(document).bind(documentBind, function() {
if(!weAreLoaded) {
$(window).scroll(function(e) {
var position = $.browser.webkit ? e.target.body.scrollTop : e.target.documentElement.scrollTop, header_height = 124;
if ($(window).width() > 540) {
if (position >= header_height) {
if (!$('body').hasClass('persistent')) {
$('body').addClass('persistent').css('padding-top', 55);
$('.persistent header').animate({
'top' : 0
}, 600);
}
} else {
$('.persistent header').css('top', '-69px');
$('body').removeClass('persistent').css('padding-top', 0);
}
}
});
</script>
我甚至不知道在这里粘贴什么,让你知道冲突是从哪里来的,所以,如果你对从哪里开始有任何线索,请向我询问。
最后,超级糟糕的事情是你不能在桌面浏览器中重新创建这个问题。即使改变UA也不能重现这个问题。我真的需要拿出我的iPhone和测试,这是可怕的,因为我只是在黑暗中拍摄试图修复的东西。啊!!
发布于 2013-07-02 23:23:19
您是否在jquery实例化的第一个html页面添加了这个内容?
<meta name="viewport" content="width=device-width,initial-scale=1.0, maximum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
这解决了运行jquery手机的应用程序中闪烁的问题。另外,jQueryMobile1.3.1也引起了一些闪烁,所以我坚持使用1.3.0。就目前而言。
此外,您还可以使用“vclick”替换“抽头”和“单击”,jquery将检测它正在运行的平台,因此,如果它是移动平台,则将使用抽头。
https://stackoverflow.com/questions/17440192
复制相似问题