javascript
  • jquery
  • html
  • onclick
  • 2013-05-11 94 views -3 likes 
    -3

    重写完整的Javascript。Javascript OnClick函数不工作

    的Javascript

    <div id="PopUp1" style="display: none; color: #FFFFFF;"></div> 
    <div id="Mask"></div> 
    <script type="text/javascript"> 
    var Design = '<p>Design!!!!!</p><input type="submit" value="Close" onClick="Close(Design,1)" />'; 
    
    function PopUp(htmlstring, id) { 
        $('#PopUp' + id).fadeIn('slow'); 
        $('#Mask').fadeIn('slow'); 
    } 
    
    function Close(htmlstring, id) { 
        $('#PopUp' + id).fadeOut('slow'); 
        $('#Mask').fadeOut('slow'); 
    } 
    
    $('#Mask').click(function() { 
        $('#Mask').fadeOut('slow'); 
        $('#PopUp' + id).fadeOut('slow'); 
    }); 
    </script> 
    

    HTML

    <td width="100" align="center" onClick="PopUp(Design,1)">Designs</td> 
    

    现在的面膜显示了与VAR设计。但瓦尔没有显示?

    +0

    你在console.log中看到了什么错误,如果有的话? – Xotic750 2013-05-11 16:26:46

    +2

    您正在加载jQuery两次。可以使用jquery-latest.js或jquery-1.8.3.js,但不能同时使用。此外,您稍后编辑了'$'s代码 - 是否仍然不适用于它们?此外,HTML也是无效的:如果不在td或th内,则不能在表格中放置div。 – JJJ 2013-05-11 16:28:34

    +0

    TD在桌子里面,只是我用onClick复制了编码线! – 2013-05-11 16:34:45

    回答

    0

    您使用的是jQuery,但$除外。还要确保你在你的<head>中包含jQuery。

    function PopUp(htmlstring,id) { 
        $('#PopUp'+id).fadeIn('slow'); 
        $('#Mask').fadeIn('slow'); 
    } 
    function Close(htmlstring,id) { 
        $('#PopUp'+id).fadeOut('slow'); 
        $('#Mask').fadeOut('slow'); 
    } 
    

    而且,虽然这并不重要,使用onClick代替onclick

    <input type="submit" value="Close" onClick="Close(Design,1)" /> 
    
    +0

    啊!我想知道什么是语法!顺便说一句:真的onClick?我还没有看到它。 – 2013-05-11 16:19:46

    +2

    不,不要在已经有jQuery的情况下使用内联onClick。取而代之的是分配(“点击”)负载 – mplungjan 2013-05-11 16:29:14

    +0

    我应该只是做一个var?对于 实例: var Design ='

    设计!


    '; – 2013-05-11 16:32:43

    0

    请始终使用jQuery,如果你拥有它,只加载一次!

    是否有任何具体原因使用提交按钮?如果不是其类型=“按钮”

    <!DOCTYPE html> 
    <html> 
    <head> 
    <title>Test popup</title> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
    <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script> 
    <script> 
    function PopUp(htmlstring,id) { 
        $('#PopUp'+id).fadeIn('slow');  
        $('#Mask').fadeIn('slow'); 
    } 
    function Close(htmlstring,id) { 
        $('#PopUp'+id).fadeOut('slow'); 
        $('#Mask').fadeOut('slow'); 
    } 
    $(function() { 
        $("#closeButton").on("click",function() { 
        Close('Design',1); // not sure what htmlstring is 
        }); 
        $("#openButton").on("click",function() { 
        Popup('Design',1); // not sure what htmlstring is 
        }); 
    }); 
    </script> 
    </head> 
    <body> 
    . 
    . 
    . 
    </body> 
    </html> 
    
    0

    我不知道如果我正确理解你的问题,但如果我这样做,那么你想要的文字,那是你的可变设计里面弹出式窗口中显示。

    您使用参数htmlstring设置了您的函数PopUp,但您从不使用它。所以也许这会有所帮助:

    function PopUp(htmlstring, id) { 
        $('#PopUp' + id).html(htmlstring); 
        $('#PopUp' + id).fadeIn('slow'); 
        $('#Mask').fadeIn('slow'); 
    } 
    
    相关问题