|
@@ -2,155 +2,50 @@
|
|
<div
|
|
<div
|
|
ref="gridWrapperElem"
|
|
ref="gridWrapperElem"
|
|
class="history"
|
|
class="history"
|
|
- @mousemove.prevent
|
|
|
|
- @mousemove="onMouseMove"
|
|
|
|
>
|
|
>
|
|
<div
|
|
<div
|
|
class="grid"
|
|
class="grid"
|
|
@mousemove.prevent
|
|
@mousemove.prevent
|
|
|
|
+ @mousemove="onMouseMove"
|
|
|
|
+ @mouseleave="onMouseLeave"
|
|
@mousedown="onMouseDown"
|
|
@mousedown="onMouseDown"
|
|
@mouseup="onMouseUp"
|
|
@mouseup="onMouseUp"
|
|
>
|
|
>
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- >
|
|
|
|
- aaaa
|
|
|
|
- </div>
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- >
|
|
|
|
- bbbb
|
|
|
|
- </div>
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item grid-item--width2"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item grid-item--width2"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item grid-item--width2"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item grid-item--width2"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item grid-item--width2"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item grid-item--width2"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item grid-item--width2"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
- <div
|
|
|
|
- class="grid-item"
|
|
|
|
- @mousemove.prevent
|
|
|
|
- />
|
|
|
|
|
|
+ <div class="grid-item grid-item--width2" />
|
|
|
|
+ <div class="grid-item grid-item--height2" />
|
|
|
|
+ <div class="grid-item" />
|
|
|
|
+ <div class="grid-item" />
|
|
|
|
+ <div class="grid-item grid-item--width2 grid-item--height2" />
|
|
|
|
+ <div class="grid-item grid-item--width2" />
|
|
|
|
+ <div class="grid-item grid-item--width2" />
|
|
|
|
+ <div class="grid-item grid-item--height2" />
|
|
|
|
+ <div class="grid-item" />
|
|
|
|
+ <div class="grid-item grid-item--width2" />
|
|
|
|
+ <div class="grid-item grid-item--height2" />
|
|
|
|
+ <div class="grid-item" />
|
|
|
|
+ <div class="grid-item" />
|
|
|
|
+ <div class="grid-item grid-item--height2" />
|
|
|
|
+ <div class="grid-item" />
|
|
|
|
+ <div class="grid-item grid-item--width2" />
|
|
|
|
+ <div class="grid-item grid-item--height2" />
|
|
|
|
+ <div class="grid-item" />
|
|
|
|
+ <div class="grid-item" />
|
|
|
|
+ <div class="grid-item grid-item--height2" />
|
|
|
|
+ <div class="grid-item grid-item--width2" />
|
|
|
|
+ <div class="grid-item grid-item--height2" />
|
|
|
|
+ <div class="grid-item" />
|
|
|
|
+ <div class="grid-item grid-item--height2" />
|
|
|
|
+ <div class="grid-item" />
|
|
|
|
+ <div class="grid-item grid-item--width2" />
|
|
|
|
+ <div class="grid-item grid-item--height2" />
|
|
|
|
+ <div class="grid-item" />
|
|
|
|
+ <div class="grid-item" />
|
|
|
|
+ <div class="grid-item grid-item--height2" />
|
|
|
|
+ <div class="grid-item" />
|
|
|
|
+ <div class="grid-item grid-item--width2" />
|
|
|
|
+ <div class="grid-item grid-item--height2" />
|
|
|
|
+ <div class="grid-item" />
|
|
|
|
+ <div class="grid-item" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -173,25 +68,32 @@ let isMouseDown = false
|
|
let isDragged = false
|
|
let isDragged = false
|
|
const gridWrapperElem = ref('null')
|
|
const gridWrapperElem = ref('null')
|
|
function onMouseDown() {
|
|
function onMouseDown() {
|
|
- console.log('mouse down')
|
|
|
|
isMouseDown = true
|
|
isMouseDown = true
|
|
isDragged = false
|
|
isDragged = false
|
|
}
|
|
}
|
|
function onMouseUp() {
|
|
function onMouseUp() {
|
|
- console.log('mouse up')
|
|
|
|
isMouseDown = false
|
|
isMouseDown = false
|
|
}
|
|
}
|
|
function onMouseMove(e) {
|
|
function onMouseMove(e) {
|
|
if (isMouseDown) {
|
|
if (isMouseDown) {
|
|
console.log(e)
|
|
console.log(e)
|
|
- gridWrapperElem.value.scrollTop -= e.movementX
|
|
|
|
|
|
+ gridWrapperElem.value.scrollLeft -= e.movementX
|
|
isDragged = true
|
|
isDragged = true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+function onMouseLeave(e) {
|
|
|
|
+ isMouseDown = false
|
|
|
|
+}
|
|
|
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
- var elem = document.querySelector('.grid')
|
|
|
|
|
|
+ $('.grid').isotope({
|
|
|
|
+ layoutMode: 'packery',
|
|
|
|
+ itemSelector: '.grid-item',
|
|
|
|
+ packery: {
|
|
|
|
+ horizontal: true
|
|
|
|
+ }
|
|
|
|
+ })
|
|
}, 300)
|
|
}, 300)
|
|
})
|
|
})
|
|
</script>
|
|
</script>
|
|
@@ -207,16 +109,24 @@ onMounted(() => {
|
|
// border-radius: 2px;
|
|
// border-radius: 2px;
|
|
}
|
|
}
|
|
>.grid {
|
|
>.grid {
|
|
- >.grid-item {
|
|
|
|
- width: 200px;
|
|
|
|
- height: 200px;
|
|
|
|
- background: red;
|
|
|
|
|
|
+ background: #DDD;
|
|
|
|
+ height: 100%;
|
|
|
|
+ background: red;
|
|
|
|
+ &::after {
|
|
|
|
+ content: '';
|
|
|
|
+ display: block;
|
|
|
|
+ clear: both;
|
|
}
|
|
}
|
|
- >.grid-item--width2 {
|
|
|
|
- width: 400px;
|
|
|
|
- height: 200px;
|
|
|
|
- background: blue;
|
|
|
|
|
|
+ >.grid-item {
|
|
|
|
+ float: left;
|
|
|
|
+ width: 100px;
|
|
|
|
+ height: 100px;
|
|
|
|
+ background: #0D8;
|
|
|
|
+ border: 2px solid #333;
|
|
|
|
+ border-color: hsla(0, 0%, 0%, 0.7);
|
|
}
|
|
}
|
|
|
|
+ >.grid-item--width2 { width: 200px; }
|
|
|
|
+ >.grid-item--height2 { height: 200px; }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|