简单的Javascript无法隐藏div

时间:2013-09-26 13:40:11

标签: javascript jquery html

我正在尝试学习一些java脚本,任何帮助都会非常感激,因为我对这个世界很新,只是学习。我试过在这个网站上下搜索并尝试了其他用户的一些建议,但似乎都没有回答我的问题。

我有这段代码:

我只是试图让它在点击x时慢慢隐藏div框。按钮显示,可以单击,但没有任何反应。有人可以帮助我,告诉我我做错了什么吗?

<div id="daily_deal">
    <button id="close_x" onclick="myFunction($)"><img src="/assets/templates/blacbold_TEST/images/red_x.png" /></button>
    <div id="widget"><iframe src="dailydeal_widget.asp" scrolling="no" frameborder="0"     style="border:none; overflow:hidden; width:155px; height:355px;" allowtransparency="true"></iframe></div>

  function myFunction($) {
      $(document).ready(function() {
          $("#close_x").click(function () {
              $("#widget").slideToggle("slow");
          });
      });
  })(jQuery);

6 个答案:

答案 0 :(得分:3)

你只需要这个位:

$(document).ready(function() {
      $("#close_x").click(function () {
          $("#widget").slideToggle("slow");
      });
  });

然后您可以从按钮中删除onclick

<button id="close_x"><img src="/assets/templates/blacbold_TEST/images/red_x.png" /></button>

当你点击按钮时它正在做的是绑定到文档就绪事件,但是因为已经发生了绑定click事件的代码永远不会运行。

答案 1 :(得分:0)

使用

<button id="close_x" onclick="toggleWidget();">

function toggleWidget() {
    $("#widget").slideToggle("slow");
}

答案 2 :(得分:0)

您可以删除$(document).ready()行。也就是说,从您的函数中删除第2行和第6行。这意味着你想在页面加载时做某事,这不会在调用这个函数的同时发生。

答案 3 :(得分:0)

您只需要以下代码:

$(document).ready(function() {
      $("#close_x").on("click", function () {
          $("#widget").slideToggle("slow");
      });
  });

不再需要onclick="myFunction($)"

答案 4 :(得分:0)

无需在onclick中调用函数,因此生成的html应该是这样的。

<button id="close_x"><img src="/assets/templates/blacbold_TEST/images/red_x.png" /></button>

你的脚本应该是

 $(document).ready(function() {
          $("#close_x").click(function () {
              $("#widget").slideToggle("slow");
          });
      });

答案 5 :(得分:0)

您可以尝试使用此功能隐藏和显示div标签:

   

(文档)$。就绪(函数(){

    $(".productDescription").hide();
    $(".show_hide").show();

$('.show_hide').click(function(){
$(".productDescription").slideToggle();
return false;
});

});

喜欢HtmL代码:

<a href="#" class="show_hide">See Full Description</a>
<div class="productDescription">
  <p>This very large bath bomb will fizz up to two minutes, how good is that. Drizzled   with soap it looks so authentic. This cake slice has a scent of Tropical Fruit including   Pineapple, Mango & Grapefruit and you'll be surrounded by gorgeous flowers and glitter.   <a  href="#" class="show_hide">Hide</a></p></div>