2

我正在尝试根据单击的图像显示和隐藏 div,因此当您单击餐厅图像时,它会显示名为成员窗口的 div。我得到的错误是Uncaught SyntaxError: Unexpected token {.

这是一个单独的 JavaScript 文件上的脚本

 $(document).ready(resteraunt(){

    $('people').click(function(){
    $("memberswindow").show();

    });

    });

这是HTML

 <!DOCTYPE html>

   <html>

   <head> <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
       <script src="Wolfeboro_Connection/Scripts/homepage.js"></script>
       <script src="Wolfeboro_Connection/Scripts/menu.js"></script>

   <link rel='stylesheet' href='Wolfeboro_Connection/CSS/index.css'> 


   </head>

   <body>



   <img src="Wolfeboro_Connection/wc.png" id="wc">

   <a href='' onclick='resteraunt();'><img src='Wolfeboro_Connection/resteraunt.jpg'        
   id="resteraunt"></a>
   <a href='' onclick='map();'><img src='Wolfeboro_Connection/map.jpg' id="map"></a>
   <a href='' onclick='mail();'><img src='Wolfeboro_Connection/mail.jpg' id="mail"></a>
   <a href='' onclick='people();'><img src='Wolfeboro_Connection/people.jpg' id="people"></a>

   <div id="window"> <div id="memberswindow"> <input type="text" id="username"   
   placeholder="Username">

   <input type="text" id="loginpassword" placeholder="Password">

   <input type="text" id="email" placeholder="Email"> </div> </div>

   <div id="banner"> <h1> Wolfeboro Connection </h1> </div>









   </body>

   </html>
4

2 回答 2

6

jquery 要求您通过表示符号“。”来声明目标元素是“类”还是“id”。和“#”分别

尝试这个:

$("#people").click(function(){
  $("#memberswindow").show();
});

您用于 document.ready() 调用的语法也不正确,请尝试将此作为完整解决方案:

$(document).ready(function(){
    $("#people").click(function(){
      $("#memberswindow").show();
    });
});
于 2013-03-15T20:30:56.937 回答
0

您不可能为不同的变体创建方法。想象一下,当你必须为 100 种不同的场景显示 div 时?

可以采取通用方法。

  1. 为每个实体创建 rel/class 属性

    <div id="ListenAllClick">
      <a href="#"><img src="mysrx" rel="divIdToShow"/></a>
      <a href="#"></a>
    </div>
    
  2. 抓取所有锚点点击事件

    $(function() {  // equivalent to $(document).ready(function(){});
    
       $("a").on("click", function(eV) { 
    
          /* for better performance use 
              $("#ListenAllClick").on("click", "a", function() {});
              instead of 
              $("a").on("click", function() { 
          */
          eV.preventDefault();
          $("#" + $(this).attr("rel"/*"class"*/)).show();
       });
    });
    
于 2013-03-15T20:52:48.993 回答