Некоторые общие методы FWIW
Public Class DateRanges
Public Class DateRange
Public StartDate As Date
Public EndDate As Date
End Class
Public Shared Function ThisWeek(d As Date) As DateRange
Dim rv As New DateRange
rv.StartDate = d.AddDays(-d.DayOfWeek)
rv.EndDate = rv.StartDate.AddDays(6)
Return rv
End Function
Public Shared Function NextWeek(d As Date) As DateRange
Dim rv As DateRange = ThisWeek(d)
rv.StartDate = rv.StartDate.AddDays(7)
rv.EndDate = rv.EndDate.AddDays(7)
Return rv
End Function
Public Shared Function PreviousWeek(d As Date) As DateRange
Dim rv As DateRange = ThisWeek(d)
rv.StartDate = rv.StartDate.AddDays(-7)
rv.EndDate = rv.EndDate.AddDays(-7)
Return rv
End Function
Public Shared Function ThisMonth(d As Date) As DateRange
Dim rv As New DateRange
rv.StartDate = d.AddDays(-d.Day + 1)
rv.EndDate = rv.StartDate.AddDays(Date.DaysInMonth(rv.StartDate.Year,
rv.StartDate.Month) - 1)
Return rv
End Function
Public Shared Function NextMonth(d As Date) As DateRange
Dim rv As DateRange = ThisMonth(d)
rv.StartDate = rv.EndDate.AddDays(1)
rv.EndDate = rv.StartDate.AddDays(Date.DaysInMonth(rv.StartDate.Year,
rv.StartDate.Month) - 1)
Return rv
End Function
Public Shared Function PreviousMonth(d As Date) As DateRange
Dim rv As DateRange = ThisMonth(d)
rv.EndDate = rv.StartDate.AddDays(-1)
rv.StartDate = rv.EndDate.AddDays(-Date.DaysInMonth(rv.EndDate.Year,
rv.EndDate.Month) + 1)
Return rv
End Function
End Class
Как использовать
Dim r As DateRanges.DateRange
r = DateRanges.ThisWeek(Date.Now)
r = DateRanges.NextWeek(#1/30/2019#)
r = DateRanges.PreviousWeek(#1/30/2019#)
r = DateRanges.ThisMonth(#1/30/2019#)
r = DateRanges.NextMonth(r.StartDate)
r = DateRanges.PreviousMonth(r.StartDate)
r = DateRanges.NextMonth(Date.Now)
Попытайтесь перенести divParent отделение с другим отделением и затем установить включение на отделение, переносящееся divParent при введении его в divParent. Это работало на меня:
<script>
function newDiv() {
var divs =
$(unescape('%3Cdiv class="divNew" style=""%3E %3C/div%3E'));
divs.draggable(
{
containment: $('#a')
});
$('#divParent').append(divs);
}
</script>
</head>
<body>
<style>
.divNew {width: 50px; height: 50px;border: solid 1px; background: Red;}
#divParent {width: 500px; height: 500px; border: solid 1px;};
</style>
<a href="javascript:;" onclick="newDiv()">new div</a>
<div id="a">
<div id="divParent" style=""> <!--<div class="divNew"></div>-->
</div>
</div>
</body>
Править: Я просто понял, что это не работает полностью. Необходимо включать проверку, чтобы видеть, является ли браузер WebKit, базирующимся, и затем установил контейнер на 1000 пкс вместо 500 пкс. Ошибка, кажется, очевидно, связана с вычислением ширины правильно.
Попытайтесь заменить 'родителя' объектом DOM... т.е., $ (" #divParent") и посмотрите, работает ли это.
У меня была похожая проблема, когда мои перетаскиваемые элементы были абсолютно позиционированы и стали относительно позиционированы в Chrome и Safari. Добавление! Important к стилю position: absolute помогло.