jquery - Bootstrap header grid layout & CSS transition with jquery 在 iPad 和 iPhone 上运行不佳

标签 jquery html css twitter-bootstrap responsive-design

我是 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/

相关文章:

css - 如何实现视口(viewport)大小的背景图像

javascript - 谷歌地图信息窗口显示kml对象名称和链接

javascript - 在提交链接到 php 中的不同页面后保持模式打开

javascript - 如何检查两个 DOM 是否相等?

javascript - 将点击事件添加到动态添加的按钮到剑道窗口内容

jquery - iOS 设备上不显示透明的 PNG div

php - 如果您的弹出窗口被阻止,如何获得通知?(HTML JS PHP)

javascript - 为什么我的文章不会在点击时改变颜色?

javascript - 为什么 css 样式表引用带有链接?

html - 汉堡菜单 : how do I make the spaces between checkbox label "slices" clickable?