JavaScript中的JavaScript问题更改类

时间:2013-09-13 23:19:23

标签: javascript jquery html

我一直在尝试复制我在互联网上看到的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")
});

1 个答案:

答案 0 :(得分:0)

调试压缩的JavaScript真的很难,但是如果我不得不猜测我会打赌.collapsed header在调用.bind时从未存在或不存在。

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

这会委派click事件,因此即使在调用.collapsed header后将其添加到DOM,它也会影响.on。您也可以尝试在$(document).ready

中包装所有内容