2013-03-15 83 views
2

我試圖根據點擊的圖像來顯示和隱藏div,所以當您點擊resteraunt圖像時,它會顯示div所謂的成員窗口。我得到的錯誤是Uncaught SyntaxError: Unexpected token {通過點擊圖片隱藏和顯示div

這是在一個單獨的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> 
+0

你的jQuery選擇缺少ID散創建相對/ class屬性。 – 2013-03-15 20:30:18

+1

僅僅通過查看右邊的「相關」答案欄,這顯然是一個重複的問題。 – adamb 2013-03-15 20:31:09

+1

傳遞給'ready()'方法的函數是匿名函數,而不是命名函數,它應該包含在匿名函數中。 – 2013-03-15 20:31:15

回答

6

jQuery的需要你申報的目標元素是否是一個「類」或「身份證」通過表示符號「。」和 「#」 分別

試試這個:

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

還您使用的的document.ready()調用是不正確的語法,試試這個作爲一個完整的解決方案:

$(document).ready(function(){ 
    $("#people").click(function(){ 
     $("#memberswindow").show(); 
    }); 
}); 
+0

它給我一個未定義的函數作爲錯誤 – 2013-03-15 20:40:17

+0

問題是你是調用onclick =「」屬性給你的div,這是完全不必要的......你可以去掉圖片周圍的錨點(鏈接)標籤。 jquery將點擊綁定到圖像元素,所以沒有理由把它的另一個HTML鏈接 – 2013-03-15 20:42:15

+0

是的它的正確 – 2013-03-15 20:46:51

0

你不可能爲不同的變體創建方法。想象一下,當你必須爲100個不同的場景顯示div時?

可以採用通用方法。

  1. 每個實體

    <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(); 
        }); 
    }); 
    
+0

嗯,一個downvote?怎麼了 ? – 2013-03-15 20:59:52

+0

wasnt我看起來很複雜 – 2013-03-16 21:45:01