2012-06-30 62 views
1

所以我有兩個部分,一個fieldset面板div,和一個「生成的內容」div。通過隱藏他們從一個部分的變化並將他們隱藏在另一個部分中,我將這些元素從一個「移動」到另一個。對於具有類.abstract和幾個元素都具有類oneseven的「抽象」部分,如何根據隱藏的部分來更改部分的寬度屬性?通過JQuery選擇器設置CSS class屬性:hidden count

這裏是我的代碼:

// Abstract 
//hide initially 
    $('fieldset.abstract label').hide(); 
//individual Abstract elements Toggle Buttons 
    //Currently on, turning Off 
     $('.block > .abstract > .superseven > section > .oneseven > input').on('change', function() { 
      var hidden = 0; 
      var width = Number((1/(7-hidden))*100); 
      if (this.checked) { 
      } else { 
       var hidden = ($('.block > .abstract > .superseven > section > :hidden').length + 1); 
       var width = Number((1/(7-hidden))*100); 
       console.log(hidden); 
       console.log('"' + Number(width) + '%"'); 
/*issue here*/  $('.oneseven').css("width", '"' + Number(width) + '%"'); 
       var index = $(this).closest('section').prevAll('section').length; 
       $('.block > .abstract > .superseven > section').eq(index).hide("slow"); 
       $('fieldset.abstract > label').eq(index+1).show("slow"); 
       $('fieldset.abstract > input').eq(index+1).prop('checked' , true); 
      } 
     }); 
    //Currently off, turning On 
     $('fieldset.abstract > input').on('change', function() { 
      var hidden = 0; 
      var width = Number((1/(7-hidden))*100); 
      if (this.checked) { 
      } else { 
       var hidden = ($('.block > .abstract > .superseven > section > :hidden').length - 1); 
       var width = Number((1/(7-hidden))*100); 
       console.log(hidden); 
       console.log('"' + Number(width) + '%"'); 
/*and here*/  $('.oneseven').css("width", '"' + Number(width) + '%"'); 
       var index = $(this).prevAll('input').length; 
       $('.block > .abstract > .superseven > section').eq(index-1).show("slow"); 
       $('.block > .abstract > .superseven > section > .oneseven > input').eq(index-1).prop('checked' , true); 
       $('fieldset.abstract > label').eq(index).hide("slow"); 
      } 
     }); 

我可以通過鍵入$('.oneseven').css("width", "33.33%"); 或改變數值來25%20%等..米,但得到它的JS部分ISN在控制檯中做到這一點」不工作。

我曾嘗試:使用parseInt函數

  • 型鑄造成一個int()
  • 使用JS(當前代碼)
  • 進入一切在數格式實際上寬度使之向Number在控制檯,它的工作原理

我認爲它是在CSS屬性JQuery選擇器的第二個參數的某處。我如何解決它?

我有瓦爾hiddenwidth兩次,因爲我不知道,如果他們需要的是全球還是不來解決這個問題。我試圖讓它工作,然後我可以排除故障並查看需要的範圍。

+2

你是否試圖擺脫嵌套的引號?我認爲'.css(「width」,width +「%」)'應該可以工作。 – pimvdb

+0

你是對的,謝謝!最後一行代碼是'$('。oneseven').css(「width」,(width)+「%」);'不需要''Number()'。 –

回答

2

是,@pimvdb是正確的,由於某種原因,不需要嵌套的報價,所以最後一行代碼是 $('.oneseven').css("width", (width) + "%");

並且不需要​​型鑄造/轉換。

+0

'Number'只在需要時才需要。一個你想要轉換的字符串。如果你正在用'*'或'/'進行計算,那麼你肯定會得到一個數字。 – pimvdb