Jquery .mouseover错误,不会触发

时间:2015-04-03 05:48:20

标签: javascript jquery

function main()
{
console.log("document ready, Javascript running");
  $(".openmenu_container").mouseover(function (){
console.log("mouseover triggered");
$(".sidebar").css("left","0px");
$(".openmenu_container").css("left","-200px");); //Uncaught SyntaxError: Unexpected token )

  $(".sidebar").mouseleave(function (){
console.log("mouseleave triggered");
$(".sidebar").css("left","-200px");
$(".openmenu_container").css("left","40px");});
}}
$(document).ready(main);

我的网站上已经有了一个功能侧边栏,使用.click()函数。我想做到这一点,鼠标悬停在“打开菜单”按钮就足以打开菜单了,一旦打开菜单,如果用户将鼠标移出菜单div,菜单就会自动关闭。 / p>

错误消息是唯一记录到控制台的消息,这意味着我的代码甚至都没有运行。错误chrome给我,“Uncaught SyntaxError:Unexpected token”“没有任何意义,因为完成.mouseover()需要第二个')'。我究竟做错了什么?我是否需要.mouseover的第二个参数?

JSFiddle:http://jsfiddle.net/dsghfnrd/2/

4 个答案:

答案 0 :(得分:0)

您尚未关闭)}

在这一行:

    $(".openmenu_container").css("left", "-200px");); 

您错过了},必须关闭mouseover event

然后在侧边栏事件处理程序下方,您有一个额外的}

因此,您更正的代码如下:

function main() {
    console.log("document ready, Javascript running");
    $(".openmenu_container").mouseover(function () {
        console.log("mouseover triggered");
        $(".sidebar").css("left", "0px");
        $(".openmenu_container").css("left", "-200px"); //Uncaught SyntaxError: Unexpected token )   
    });

    $(".sidebar").mouseleave(function () {
            console.log("mouseleave triggered");
            $(".sidebar").css("left", "-200px");
            $(".openmenu_container").css("left", "40px");
   });


}
    $(document).ready(main);

另外,希望您想mouseleave sidebar mouseover事件openmenu_container. {{1}}事件上的{{1}}事件。

答案 1 :(得分:0)

function main() {
    console.log("document ready, Javascript running");
    $(".openmenu_container").mouseover(function () {
        console.log("mouseover triggered");
        $(".sidebar").css("left", "0px");
        $(".openmenu_container").css("left", "-200px");  
    });//add this

    $(".sidebar").mouseleave(function () {
            console.log("mouseleave triggered");
            $(".sidebar").css("left", "-200px");
            $(".openmenu_container").css("left", "40px");
   });


}
    $(document).ready(main);

答案 2 :(得分:0)

下面的代码将起作用。你可以使用一个突出显示语法的编辑器!

function main()
{
console.log("document ready, Javascript running");
$(".openmenu_container").mouseover(function (){

  //console.log("mouseover triggered");
  $(".sidebar").css("left","0px");
  $(".openmenu_container").css(
          "left","-200px"
  ); //Uncaught SyntaxError: Unexpected token )

  $(".sidebar").mouseleave(function (){
    //console.log("mouseleave triggered");
     $(".sidebar").css("left","-200px");
     $(".openmenu_container").css("left","40px");
 });
});
};
$(document).ready(main);

修改 @ mohamedrias的答案显示了更好的代码分析

答案 3 :(得分:0)

尝试这样的事情......

$(document).ready(function() {
    console.log("document ready, Javascript running");
    $(".openmenu_container").mouseover(function () {
        console.log("mouseover triggered");
        $(".sidebar").css("left", "0px");
        $(".openmenu_container").css("left", "-200px");  
    });//add this

    $(".sidebar").mouseleave(function () {
            console.log("mouseleave triggered");
            $(".sidebar").css("left", "-200px");
            $(".openmenu_container").css("left", "40px");
   });

});