0

我一直在尝试复制我在互联网上其他地方看到的 JavaScript 脚本,以允许我的下拉菜单打开和关闭。这真的是很简单的逻辑。Div 类设置为 xxx-close 并且由于 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) {

这将委托click事件,因此.collapsed header即使在.on调用后将它们添加到 DOM 也会产生影响。您也可以尝试将所有内容包装在$(document).ready

于 2013-09-13T23:22:48.203 回答