Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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 - Fatal编程技术网

jquery函数不工作

jquery函数不工作,jquery,css,Jquery,Css,我正在用jquery+css3创建手风琴菜单一切正常 希望在页面加载时菜单始终打开,并且代码隐藏它不起作用 这是我创作的小提琴 这是我的jquery代码 $(document).ready(function() { //ACCORDION BUTTON ACTION (ON CLICK DO THE FOLLOWING) $('.zero_menu_title_collapse').click(function() { //REMOVE THE ON C

我正在用jquery+css3创建手风琴菜单一切正常 希望在页面加载时菜单始终打开,并且代码隐藏它不起作用 这是我创作的小提琴

这是我的jquery代码

   $(document).ready(function() {

    //ACCORDION BUTTON ACTION (ON CLICK DO THE FOLLOWING)
    $('.zero_menu_title_collapse').click(function() {

        //REMOVE THE ON CLASS FROM ALL BUTTONS
        $('.zero_menu_title_collapse').removeClass('on');

        //NO MATTER WHAT WE CLOSE ALL OPEN SLIDES
        $('.zero_menu_content').slideUp('normal');

        //IF THE NEXT SLIDE WASN'T OPEN THEN OPEN IT
        if($(this).next().is(':hidden') == true) {

            //ADD THE ON CLASS TO THE BUTTON
            $(this).addClass('on');

            //OPEN THE SLIDE
            $(this).next().slideDown('normal');
         } 

     });


    /*** REMOVE IF MOUSEOVER IS NOT REQUIRED ***/

    //ADDS THE .OVER CLASS FROM THE STYLESHEET ON MOUSEOVER 
    $('.').mouseover(function() {
        $(this).addClass('over');

    //ON MOUSEOUT REMOVE THE OVER CLASS
    }).mouseout(function() {
        $(this).removeClass('over');                                        
    });

    /*** END REMOVE IF MOUSEOVER IS NOT REQUIRED ***/


    /********************************************************************************************************************
    CLOSES ALL S ON PAGE LOAD
    ********************************************************************************************************************/   
    $('.zero_menu_content').hide();

});
这是全部小提琴


添加此CSS规则,使您的手风琴内容在默认情况下隐藏:

.zero_menu_content {
    display: none;
}
UPD。此版本还将修复代码中的语法错误:

我还删除了
$('.zero\u menu\u content').hide()
如果使用CSS解决方案,则不需要它。

//在鼠标上方的样式表中添加.OVER类
$('..).mouseover(函数(){
$(this.addClass('over');
//在MOUSEOUT上删除OVER类
}).mouseout(函数(){
$(this.removeClass('over');
});
这将创建一个JS错误,因此
$('.zero_菜单_内容').hide()未被激发。

查看控制台。

了解如何打开浏览器的JavaScript控制台。我的错误如下:

语法错误,无法识别的表达式:

。。。由此代码触发:

$('.').mouseover(function() {
  ^^^

不确定代码应该是什么样子,但如果删除整个块,accordion可以正常工作。

您也有一个错误

$('.').mouseover(function() {
    $(this).addClass('over');
}).mouseout(function() { $(this).removeClass('over'); });

您将在控制台中获得未定义的表达式。。因此代码的执行在此终止。

您有以下JavaScript错误:

Uncaught Error: Syntax error, unrecognized expression: . 
在移动时:

$('.').mouseover(function() {
    $(this).addClass('over');

//ON MOUSEOUT REMOVE THE OVER CLASS
}).mouseout(function() {
    $(this).removeClass('over');                                        
});
应该是:

//ADDS THE .OVER CLASS FROM THE STYLESHEET ON MOUSEOVER 
$('.zero_menu_content_row').mouseover(function() {
    $(this).addClass('over');

//ON MOUSEOUT REMOVE THE OVER CLASS
}).mouseout(function() {
    $(this).removeClass('over');                                        
});
正确的小提琴:

试试这个

 $(document).ready(function() {
/********************************************************************************************************************
CLOSES ALL S ON PAGE LOAD
********************************************************************************************************************/   
$('.zero_menu_content').hide();

//ACCORDION BUTTON ACTION (ON CLICK DO THE FOLLOWING)
$('.zero_menu_title_collapse').click(function() {

    //REMOVE THE ON CLASS FROM ALL BUTTONS
    $('.zero_menu_title_collapse').removeClass('on');

    //NO MATTER WHAT WE CLOSE ALL OPEN SLIDES
    $('.zero_menu_content').slideUp('normal');

    //IF THE NEXT SLIDE WASN'T OPEN THEN OPEN IT
    if($(this).next().is(':hidden') == true) {

        //ADD THE ON CLASS TO THE BUTTON
        $(this).addClass('on');

        //OPEN THE SLIDE
        $(this).next().slideDown('normal');
     } 

 });


/*** REMOVE IF MOUSEOVER IS NOT REQUIRED ***/

//ADDS THE .OVER CLASS FROM THE STYLESHEET ON MOUSEOVER 
$('.').mouseover(function() {
    $(this).addClass('over');

//ON MOUSEOUT REMOVE THE OVER CLASS
}).mouseout(function() {
    $(this).removeClass('over');                                        
});

/*** END REMOVE IF MOUSEOVER IS NOT REQUIRED ***/




});
我刚把你的藏身处放在

$(document).ready(function(){

});

@dfsq您解决了这个问题,代码中仍然存在一个错误…如果您克服了这个错误,那么您就不需要css检查。请尊重JS语法错误。首先,这仍然是一个解决方法,因为JS代码中仍然存在JavaScript错误。更重要的是,它会使禁用JavaScript的用户无法使用菜单。@MarcinJuraszek 1)。不再有JS错误(找不到404映像,因为OP使用了非工作映像src)。2). 当然,如果JS被禁用,它将不起作用,那么这是我回答的问题吗?@dfsq-我认为他的意思是,对于任何支持CSS但不支持JavaScript的工具来说,内容都是不可见的(例如,在我的老式手机中的Opera Mini)。我明白了。