Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery $(窗口);发射不够快_Jquery_Css_Scrolltop - Fatal编程技术网

Jquery $(窗口);发射不够快

Jquery $(窗口);发射不够快,jquery,css,scrolltop,Jquery,Css,Scrolltop,我一直在尝试制作一个标题,它将根据您滚动的数量缩小,然后停止并达到某一点。也有一个标志,将在这一天向上移动 唯一的问题是$(窗口)发射速度不够快。因此,如果滚动太快,徽标将位于标题外,或者标题可能太大 我想不出比这更好的办法了。。任何帮助或想法都将不胜感激 这是我的密码 var widgets = { header: function() { var $header = $('.header'); var $logo = $('.header__title

我一直在尝试制作一个标题,它将根据您滚动的数量缩小,然后停止并达到某一点。也有一个标志,将在这一天向上移动

唯一的问题是
$(窗口)发射速度不够快。因此,如果滚动太快,徽标将位于标题外,或者标题可能太大

我想不出比这更好的办法了。。任何帮助或想法都将不胜感激

这是我的密码

var widgets = {
    header: function() {
        var $header = $('.header');
        var $logo = $('.header__title');
        var $headerHeight = $header.height();
        $(window).on('scroll resize', function(event) {
            var windowWidth = window.innerWidth;
            var windowScrollTop = $(window).scrollTop();


            if( windowScrollTop < 100) {
                $logo.css('margin-top','-'+(windowScrollTop)+'px'); 
            }

            if ( windowScrollTop < 230) {   
                $header.css('height',($headerHeight - windowScrollTop)+'px');
            }
        });
    }
}

$(document).ready(function() {
    widgets.header();
    .....
var小部件={
标题:函数(){
变量$header=$('.header');
变量$logo=$('.header_uutitle');
var$headerHeight=$header.height();
$(窗口)。打开('滚动调整大小',函数(事件){
var windowWidth=window.innerWidth;
var windowscorltop=$(window.scrollTop();
如果(windowScrollTop<100){
$logo.css('margin-top'、'-'+(windowScrollTop)+'px');
}
如果(windowScrollTop<230){
$header.css('height',($headerHeight-windowscorltop)+'px');
}
});
}
}
$(文档).ready(函数(){
widgets.header();
.....

这里就是一个例子,我做了一些快速的更改,需要您的快速反馈,但请查看这把小提琴

我仅在此处更新了脚本:

if (windowScrollTop >= 100) {
    $logo.css('margin-top', '-100px');
}else{
    $logo.css('margin-top',0);
}
当它大于或等于100时,它基本上会将它设置到你想要的顶部。当你在顶部时,它也会将它设置回你想要的位置


还对一些css进行了更改,将您的主要内容向下推312px。也请检查一下。这不是100%必要的,只是根据您当前的显示,假设您将来需要某些内容。

您可以设置这两个条件中的最后状态

if (windowScrollTop < 100) {
    $logo.css('margin-top', '-' + (windowScrollTop) + 'px');
} else {
     $logo.css('margin-top', '-100px');
}

if (windowScrollTop < 230) {
    $header.css('height', ($headerHeight - windowScrollTop) + 'px');
} else {
    $header.css('height', ($headerHeight - 230) + 'px');
}
if(windowScrollTop<100){
$logo.css('margin-top'、'-'+(windowScrollTop)+'px');
}否则{
$logo.css('margin-top','-100px');
}
如果(windowScrollTop<230){
$header.css('height'),($headerHeight-windowscorltop)+'px');
}否则{
$header.css('height',($headerHeight-230)+'px');
}

演示在

对不起,标题的位置是固定的..我只是让JSFIDLE来帮助更多的人。FIDLE在这个问题上会有很大的帮助。请尝试确保html的好部分在那里。现在已经添加了。谢谢你,我可以看到你做了什么..我在我的主要代码中设置了填充,只是忘了将它添加到这里..谢谢帮助一点也不痛你没有选择我@Richy…我明白…#没什么…哭得有点…:P#拥抱。唯一的原因是,我很懒,那一个解决了这个问题。你们都做了同样的事,可惜我不能选两个谢谢你似乎做了一件好事,仍然得到了顺利的动画