2

私は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);
4

6 に答える 6

3

You only need this bit:

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

And then you can remove the onclick from the button:

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

What it was doing is binding to the document ready event when you clicked the button, but as this has already happened the code that binds the click event is never run.

于 2013-09-26T13:43:21.647 に答える
0

divタグを非表示および表示するためにこの機能を試すことができます:

$(document).ready(function(){

    $(".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>
于 2013-09-26T13:51:00.877 に答える
0

使用する

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

function toggleWidget() {
    $("#widget").slideToggle("slow");
}
于 2013-09-26T13:43:49.910 に答える
0

$(document).ready()行を削除できます。つまり、関数から 2 行目と 6 行目を削除します。ページがロードされたときに何かをしたいということを暗示しています。これは、この関数が呼び出されると同時には発生しません。

于 2013-09-26T13:44:30.107 に答える
0

次のコードのみが必要です。

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

これonclick="myFunction($)"はもう必要ありません。

于 2013-09-26T13:44:41.433 に答える
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");
          });
      });
于 2013-09-26T13:44:51.217 に答える