0

インターネット上の他の場所で見た JavaScript スクリプトをコピーして、ドロップダウン メニューを開閉できるようにしようとしています。それは本当に非常に単純なロジックです。Div クラスは xxx-closed に設定されており、クリックすると JavaScript のおかげで、クラスを xxx-open に変更することがサポートされていますが、うまくいきませんでした。

これは私のサイトにあるスクリプトです。元のスクリプトから抜粋したものです。

(".collapsed header").bind("click",function(t) {

   t.preventDefault(),
   e(this).parent().toggleClass("opened","collapsed").find(".content")}),
   e(".foot-sw-cont").addClass("closed"),
   e(".foot-sw-cont").click(function(t)
  {
  t.preventDefault(),e(this).toggleClass("closed"),
  e(".foot-address").toggleClass("address-open"),
  e(".foot-extra").toggleClass("careers-open")}),
  e(".pagetop").click(function(t){
      t.preventDefault(),e("html, body").animate({scrollTop:0},1e3)
})

私のミスが単にコピーしたときにいくつかのコードを見逃していたのかどうかはわかりません.私の人生はJavaScriptを理解できません! そのため、もっと大きなブロックをコピーして下に貼り付けますので、私の間違いを見つけていただければ幸いです。

.html(n)})}
e(".no-touch .award").hover(function(){

   e(this).find(".award-tooltip").addClass("shown")},
   function(){e(this).find(".award-tooltip").removeClass("shown")}),
   e(".touch .award").toggle(function(){

      e(".award-tooltip").removeClass("shown"),
      e(this).find(".award-tooltip").addClass("shown")},
      function(){
          e(this).find(".award-tooltip").removeClass("shown")}),

      e(".award-tooltip").click(function(e){e.stopPropagation()}),
      t<599&&(e("#y2007, #y2008, #y2009, #y2010, #y2011").addClass("closed"),

      e(".award-year").click(function(){

          var t=e(this).attr("data-year");
          e("#"+t).toggleClass("opened closed")})),
          e(".panel-item .content").parent().addClass("collapsed"),

          e(".collapsed header").bind("click",function(t) {

              t.preventDefault(),
              e(this).parent().toggleClass("opened","collapsed").find(".content")}),
              e(".foot-sw-cont").addClass("closed"),

          e(".foot-sw-cont").click(function(t){

              t.preventDefault(),e(this).toggleClass("closed"),
              e(".foot-address").toggleClass("address-open"),
              e(".foot-extra").toggleClass("careers-open")}),

          e(".pagetop").click(function(t){       

              t.preventDefault(),e("html,body").animate({scrollTop:0},1e3)}),
              e(".btn-blogcats").click(function(t){
              t.preventDefault(),
              e("#blog_cats").toggleClass("collapsed"),
              e(this).toggleClass("cats-opened")}),
              e("#map").length>0&&initialize(),

          e(".come-top").toggle(function(){

               e(this).parent().addClass("opened")},function(){
               e(this).parent().removeClass("opened")}),

          e(".img_links a").click(function(t){

              t.preventDefault();
              var n=e(this).attr("href"); 
              e("#imgholder").attr("src",n),
              e(".img_links a").removeClass("current"), 
              e(this).addClass("current")
});
4

1 に答える 1

0

圧縮された JavaScript をデバッグするのは非常に困難ですが、推測する必要があるとすれば、呼び出さ.collapsed headerれた時点で存在しないか存在しないかのどちらかであると推測できます。.bind

$(document).on("click", ".collapsed header", function (t) {

これによりイベントがデリゲートされるため、が呼び出された後に DOM に追加されてもclick影響します。すべてをラップすることもできます.collapsed header.on$(document).ready

于 2013-09-13T23:22:48.203 に答える