Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
滚动后,模糊javascript和css中的其他组件不起作用_Javascript_Jquery_Html_Css_Smooth Scrolling - Fatal编程技术网

滚动后,模糊javascript和css中的其他组件不起作用

滚动后,模糊javascript和css中的其他组件不起作用,javascript,jquery,html,css,smooth-scrolling,Javascript,Jquery,Html,Css,Smooth Scrolling,我之前在StackOverflow上问过,在使用Javascript平滑滚动到某些组件后,如何模糊这些组件,了解了它在JSFIDLE中的工作方式,并对此感到满意,直到。。。我自己试过了。我不确定我做错了什么,但在我的示例中,该解决方案在大多数情况下都不起作用。我会说这完全是随机的,但事实是,当我点击菜单上的某个字段并进入该字段时——它起作用了,其他一切都变得模糊了。因此,我滚动到顶部再次查看菜单,再次单击它,然后没有任何内容变得模糊。大多数情况下,它就是不起作用 目前我观察到它适用于菜单中的第一

我之前在StackOverflow上问过,在使用Javascript平滑滚动到某些组件后,如何模糊这些组件,了解了它在JSFIDLE中的工作方式,并对此感到满意,直到。。。我自己试过了。我不确定我做错了什么,但在我的示例中,该解决方案在大多数情况下都不起作用。我会说这完全是随机的,但事实是,当我点击菜单上的某个字段并进入该字段时——它起作用了,其他一切都变得模糊了。因此,我滚动到顶部再次查看菜单,再次单击它,然后没有任何内容变得模糊。大多数情况下,它就是不起作用

目前我观察到它适用于菜单中的第一个和最后一个位置,但不适用于中间位置。也许某些变量必须被清除

var isBlurred = false;

$('#borders a').on('click', function(e) { 
    var el = $( e.target.getAttribute('href') );
    var elOffset = el.offset().top;
    var elHeight = el.height();
    var windowHeight = $(window).height();
    var offset;

    if (elHeight < windowHeight) {
        offset = elOffset - ((windowHeight / 2) - (elHeight / 2));
    }
    else {
        offset = elOffset;
    }

    $.smoothScroll({
        speed: 700,
        offset: offset,

        // 'blur' elements after scrolling
        afterScroll: function() {
            // blur elements
            $('.item').not(el).addClass('item--blurred');

            // remember that it's blurred
            isBlurred = true;
        }
    });

    return false;
});

$(window).on('scroll', function() {
    // don't do anything if we're not in a blurred state
    if(!isBlurred) return;

    // reset everything to a non-blurry state
    $('.item').removeClass('item--blurred');
    isBlurred = false;
});
var=false;
$('a')。在('click',函数(e){
var el=$(e.target.getAttribute('href');
var elOffset=el.offset().top;
var elHeight=el.height();
var windowHeight=$(window.height();
var偏移;
if(elHeight<窗高){
偏移=elOffset-((窗高/2)-(elHeight/2));
}
否则{
偏移量=elOffset;
}
$.smoothScroll({
速度:700,,
抵销:抵销,
//滚动后的“模糊”元素
余弦:函数(){
//模糊元素
$('.item').not(el).addClass('item--fuzzle');
//记住它是模糊的
Isfuzzle=真;
}
});
返回false;
});
$(窗口).on('scroll',function(){
//如果我们没有处于模糊状态,什么都不要做
如果(!isfuzzle)返回;
//将所有内容重置为非模糊状态
$('.item').removeClass('item--fuzzle');
isfuzzle=false;
});

有人能帮我看看为什么在上一个例子中,从这里开始它是有效的,而在我的例子()中它不是

我反复尝试,没有得到你的结果。每次我点击一个链接,窗口就会滚动到那个项目,其他项目就会消失。如果我立即滚动,它们将进入正常的不透明度。再次,我会点击一些其他元素,它会产生和上面一样的结果。对我来说,它似乎工作得非常好。和@GaurangTandon一样,你的小提琴工作得非常好。好吧,这太奇怪了,在我的情况下-我在两台不同的机器上测试了它(win+chrome和osx+safari),它不工作。我的意思是,在windows上,它可以像我在原始主题中所写的那样随机工作,但在Safari上,它一点也没有。。奇怪..@randomuser1这太奇怪了。您测试了哪些浏览器,更具体地说,是哪些版本?嘿,我使用了Safari版本8.0.2(10600.2.5)(OS X)-滚动工作正常,但淡入/淡出不工作。我目前也在OSX下使用Chrome(版本42.0.2311.90(64位)),滚动工作,随机淡入淡出。我不知道是什么引起了这个问题。。