2016-11-04 3 views
0

내가 너비와 내 IMG의 높이를 얻을 수있는 방법 0너비 값을 맞춤 속성에 전달하는 방법은 무엇입니까?

로 설정 data-widthdata-height 속성이있는 <img> 태그가 있다고 가정하고 내 사용자 지정 특성에 전달?

누군가 나를 도와주세요. 나는 오랫동안 파고 있었다.

여기 내 코드는 작동하지 않았다이다 :

당신이 점점 또는 .data()를 설정하는 데 어떤 문제를
$(".draggable").draggable({ 
    helper: "clone", 
    cursor: 'move' 
}); 
$("#dropzone").droppable({ 
    drop: function (event, ui) { 
     var canvas = $(this); 
     if (!ui.draggable.hasClass('object')) { 
      var canvasElement = ui.helper.clone(); 
      canvasElement.addClass('object'); 
      canvas.find("div").removeClass('activeElement'); 
      canvasElement.addClass('activeElement'); 
      canvasElement.removeClass('draggable ui-draggable ui-draggable-handle ui-draggable-dragging'); 
      var mywidth = canvasElement.find("img").width(); 
      canvasElement.find("img").data("width",mywidth); 
      canvas.append(canvasElement); 
      canvasElement.css({ 
       left: (ui.position.left), 
       top: (ui.position.top), 
       position: 'absolute', 
       zIndex: 2    
      }); 

      canvasElement.draggable({ 
      cursor: 'move', 
      containment: '#dropzone' 
      }); 
+0

은 $ ("img") 데이터 ("width", $ (this)) .width()를 사용 했습니까? –

+0

예. 작동하지 않는다 –

+0

'setAttribute ("data-width")'를 사용해 보셨습니까? – mseifert

답변

0

확실하지? 그런 다음 나는 그것을 해결 attr()

var img = $("img"); 
var [width, height] = [img.attr("width"), img.attr("height")]; 
img.data({width:width, height:height}); 
+0

코드를 사용해 보았습니다. 작동하지 않습니다 –

+0

이것은 var [width, height] = ....로 인해있을 수 있습니다 [destructuring assignment]라는 ECMAScript 6 기능입니다 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment)가 브라우저에서 사용 가능하지 않을 수 있습니다. – hungerstar

+0

@JqueryNewbie "작동하지 않는다"고 할 수 있습니까? 'var width = img.attr ("width");를 사용합니까? var height = img.attr ("height")'예상 결과를 반환 하시겠습니까? – guest271314

0

에서 검색 .data() 사용하여 값을 설정 .attr() 또는 DOM.naturalWidth, .naturalHeight를 사용하여 width, heightimg 요소를 얻을 수 있어야합니다. 내 코드의 위치. 요소의 너비와 높이를 가져 오기 전에 먼저 요소를 추가합니다.

관련 문제