我是 Web 开发领域的新手,我已经采用 bootstrap 和 jquery 来构建响应式网站。我的网站在除 iOS 设备以外的所有设备上运行良好。包含 Logo 和导航菜单的 header 是出现问题的地方。过渡动画非常慢,几乎无法正常工作(在 iOS 的 safari 和 chrome 上)。而且 Bootstrap 网格布局也不太好用。我的 Logo 列太大,无法根据网格大小调整大小。这是 header 的代码:
HTML :
<header id="mainHead">
<div class="container">
<div class="row">
<div class="col-md-4 col-lg-4 text-left">
<img class="mainLogo" src="img/logos/logo.png" alt="logo" />
</div>
<div class="col-sm-12 col-md-8 col-lg-8">
<ul class="listOptions navigationList text-right">
<li class="listEntryOptions">ABOUT</li>
<li class="listEntryOptions"><a href="#menu">MENU</a></li>
<li class="listEntryOptions"><a href="#reservations">RESERVATIONS</a></li>
<li class="listEntryOptions"><a href="#contact">CONTACT</a></li>
</ul>
</div>
</div>
</div>
</header>
jQuery(用于标题调整大小动画效果):
$(window).scroll(function() {
if ($(this).scrollTop() > 1){
$('.mainLogo').addClass("sticky");
}
else{
$('.mainLogo').removeClass("sticky");
}
});
CSS:
#mainHead {
position: fixed;
z-index: 200;
width: 100%;
top: 0px;
padding-top: 5px;
padding-bottom: 5px;
background-color: #FFFFFF;
box-shadow: 5px 5px 5px #888888;
margin-bottom: 20px;
}
.mainLogo {
margin: 0 auto;
height: 20%;
width: auto;
transition: all 1s ease;
}
.sticky {
margin: 0 auto;
height: 10%;
width: auto;
transition: all 1s ease;
}
解决 iOS 设备这些问题的最佳方法是什么?有什么我做的不正确吗?会喜欢任何反馈。谢谢
最佳答案
我的第一个想法是调整滚动功能——它反复触发——就像每次窗口移动时一样,并一遍又一遍地添加 sticky
类。
查看此演示:Fiddle
打开控制台,查看演示该函数如何被重复触发的日志。除此之外,我真的无法从 fiddle 中分辨出应该为什么设置动画...
(编辑添加——我添加了那个丑陋的 css3 填充只是为了提供该区域正在滚动的视觉指示器)。
关于jquery - Bootstrap header grid layout & CSS transition with jquery 在 iPad 和 iPhone 上运行不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27531287/