2013-07-19 2 views
0

jQuery .css()로하면 margin, padding의 CSS 값을 가져오고 싶습니다.jQuery - 연장 css()

이 버그를 해결하는 jquery 코드를 발견했습니다.

하면이 코드를 추가하여 나를 JQuery와 .css()를 extednd 도와주세요 :

$.each(['border', 'margin', 'padding'], function (i, name) { 
     $.fn[name] = function (value) { 
      if (value) { 
       if (value.top !== undefined) { 
        this.css(name + '-top' + (name === 'border' ? '-width' : ''), value.top); 
       } 
       if (value.bottom !== undefined) { 
        this.css(name + '-bottom' + (name === 'border' ? '-width' : ''), value.bottom); 
       } 
       if (value.left !== undefined) { 
        this.css(name + '-left' + (name === 'border' ? '-width' : ''), value.left); 
       } 
       if (value.right !== undefined) { 
        this.css(name + '-right' + (name === 'border' ? '-width' : ''), value.right); 
       } 
       return this; 
      } 
      else { 
       return {top: num(this.css(name + '-top' + (name === 'border' ? '-width' : ''))), 
         bottom: num(this.css(name + '-bottom' + (name === 'border' ? '-width' : ''))), 
         left: num(this.css(name + '-left' + (name === 'border' ? '-width' : ''))), 
         right: num(this.css(name + '-right' + (name === 'border' ? '-width' : '')))}; 
      } 
     }; 
    }); 

HRE jQuery를 .css() 파이어 폭스 브라우저에서, 패딩과 마진을 얻는 값을 실패 보여줍니다 바이올린입니다

http://jsfiddle.net/howtoplease/fMTsW/4/

+1

무엇을 묻는 중입니까? 코드를 해봤습니까? 작동하지 않습니까? – Paulpro

+0

내 질문 업데이트 – user007

+0

크롬에서 작동하지만 파이어 폭스에서 실패합니다. 위의 코드를 사용하여'css()'함수를 확장하려고합니다. – user007

답변

1

나는 해결책을 가지고있다.

$(document).ready(function(){ 
     .... 
      $('[name='+this.name+']').val(marginT); 
      ..... 
     }else{   
     this.value = $('h3').css(this.name); 
     } 
    }); 
}); 

WORKING DEMO

위의 코드는 내 자신의 논리입니다

, 는 또한 귀하가 제공 한 코드를 구현했습니다.

Your Plugin function

이 플러그인은 또한 문제가 표시되는 CONSOLE.LOG을 확인합니다.

+0

Hoory !! 일. 감사 – user007

+0

데모가 실패하면 여백 : 40px 50px; – user007