Я использую angularJS для своего веб-приложения, и мне нужно написать компонент, содержащий операцию перетаскивания. Когда я пытался достичь цели, мне было трудно контролировать эффект перетаскивания вокруг указателя, поскольку это был не реальный элемент, а вырезанное изображение (я полагаю). На данный момент перетаскиваемое изображение является копией перетаскиваемого элемента и содержит эффект наведения, и даже имеет белый фон от своего родителя. (Я вырезал два изображения и отобразил ниже)
Так как я могу изменить эффект перетаскивания с помощью CSS или JS?
Я добавляю класс «перетаскивание» для перетаскиваемого элемента при срабатывании события dragstart и изменяю стиль перетаскиваемого элемента. Но перетаскиваемое изображение остается прежним.
HTML
<div ng-if="current == -1" class="form-library">
<div ng-repeat="(key, item) in formMap"
class="form-type-items"
ng-class="{'is-dragging': dragInfo.type == 'add' && key == dragInfo.data.type}"
draggable="true"
ng-dragstart="onDragStart($event, key)"
ng-dragend="onDragEnd($event)">
<div class="form-type-icon">
<i class="{{'iconfont icon-'+item.icon}}"></i>
</div>
<span class="form-type-name">{{ item.name }}</span>
</div>
</div>
* 1016 СКС *
&:hover {
.form-type-name {
color: $brand-color-1;
}
.form-type-icon {
.iconfont {
color: $brand-color-1;
}
}
}
&.is-dragging {
opacity: 0.36;
background-color: transparent;
.form-type-name {
color: $gray-2;
}
.form-type-icon {
.iconfont {
color: $gray-2;
}
}
}