Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.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 若窗口大小为移动且窗体可见,则不要运行脚本_Javascript_Jquery - Fatal编程技术网

Javascript 若窗口大小为移动且窗体可见,则不要运行脚本

Javascript 若窗口大小为移动且窗体可见,则不要运行脚本,javascript,jquery,Javascript,Jquery,如果满足两个条件,我想取消此脚本: 窗口宽度为767或更小 #隐藏表单具有显示样式:块 以下是函数: 函数init(){ window.addEventListener('scroll',函数(e){ var distance=window.pageYOffset | | document.documentElement.scrollTop, shrinkOn=300, 页眉=document.querySelector(“页眉”); 如果(距离>收缩){ 类别添加(标题,“较小”); }否则{

如果满足两个条件,我想取消此脚本:

  • 窗口宽度为767或更小
  • #隐藏表单
    具有显示样式:块
  • 以下是函数:

    函数init(){
    window.addEventListener('scroll',函数(e){
    var distance=window.pageYOffset | | document.documentElement.scrollTop,
    shrinkOn=300,
    页眉=document.querySelector(“页眉”);
    如果(距离>收缩){
    类别添加(标题,“较小”);
    }否则{
    类别移除(标题“较小”);
    }
    });
    }
    window.onload=init();
    
    我尝试添加以下内容作为else if,但它取消了所有视图中的脚本:

    {
    ($(窗口).width()收缩){
    类别添加(标题,“较小”);
    }如果($(window).width()使用以下选项:

    $('#隐藏形式').css('display')=='block'
    
    此外,对于移动检查,您可以使用
    $('#隐藏形式')。css('display','block')
    用于设置
    display
    的值。要检查它,请使用
    $('#隐藏形式').css('display')
    。因此您的代码应该是:

    ( $(window).width() <= 767 && $('#hidden-form').css('display') == 'block' )
    

    ($(window).width()FYI
    .css('display')
    返回一个值,而
    .css('display','block')
    设置一个值。@epascarllo您能解释一下吗?在我尝试添加此条件之前,函数工作正常,window.onload=init()有什么问题;?因为您正在调用函数并运行它。它没有等待加载。它应该是
    window.onload=init;
    并且您有
    。return;
    谢谢@epascarello!问题出在“.”上。所以这就是我现在遇到的问题,但是我仍然看到同样的问题。即使在桌面/平板电脑上,该函数也被取消。
    ( $(window).width() <= 767 && $('#hidden-form').css('display') == 'block' )