修复取色框点击位置错乱问题
This commit is contained in:
parent
6bbebb0160
commit
cdefea265c
|
@ -2,7 +2,7 @@
|
||||||
"name": "svelma-pro",
|
"name": "svelma-pro",
|
||||||
"svelte": "src/index.js",
|
"svelte": "src/index.js",
|
||||||
"description": "Based on svelma project extension and modification",
|
"description": "Based on svelma project extension and modification",
|
||||||
"version": "1.2.1",
|
"version": "1.2.2",
|
||||||
"author": "KeiferJu",
|
"author": "KeiferJu",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
|
|
@ -19,13 +19,14 @@
|
||||||
let focusStatus = false
|
let focusStatus = false
|
||||||
function openChrome(event) {
|
function openChrome(event) {
|
||||||
focusStatus = true
|
focusStatus = true
|
||||||
|
panelX = event.clientX - event.offsetX
|
||||||
|
panelY = event.clientY
|
||||||
|
transformX = event.target.offsetWidth + 5
|
||||||
|
console.log(event)
|
||||||
if (!active) {
|
if (!active) {
|
||||||
panelX = event.clientX - event.offsetX
|
setTimeout(() => {
|
||||||
panelY = event.clientY
|
|
||||||
transformX = event.target.offsetWidth + 5
|
|
||||||
setTimeout(()=>{
|
|
||||||
active = true
|
active = true
|
||||||
},100)
|
}, 100)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,16 +66,23 @@
|
||||||
<svelte:window on:click={closeChrome} />
|
<svelte:window on:click={closeChrome} />
|
||||||
{#if mode === 1}
|
{#if mode === 1}
|
||||||
<div class="smx-color-picker" style="width: {width}">
|
<div class="smx-color-picker" style="width: {width}">
|
||||||
<input type="text" class="input" on:focus={openChrome} on:blur={()=>focusStatus = false} value={color} style="background: {color};" readonly />
|
<input
|
||||||
|
type="text"
|
||||||
|
class="input"
|
||||||
|
on:click={openChrome}
|
||||||
|
on:blur={() => (focusStatus = false)}
|
||||||
|
value={color}
|
||||||
|
style="background: {color};"
|
||||||
|
readonly />
|
||||||
{#if active}
|
{#if active}
|
||||||
<div
|
<div
|
||||||
class="smx-color-panel"
|
class="smx-color-panel"
|
||||||
on:click|stopPropagation
|
on:click|stopPropagation
|
||||||
style="top: {panelY}px;left:{panelX}px;transform: translate({transformX}px, -50%)">
|
style="top: {panelY}px;left:{panelX}px;transform: translate({transformX}px, -50%)">
|
||||||
<Chrome startColor={color} on:input={handleInput} {fieldsIndex} on:mouseupEvent={mouseupEvent}/>
|
<Chrome startColor={color} on:input={handleInput} {fieldsIndex} on:mouseupEvent={mouseupEvent} />
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
{:else}
|
{:else}
|
||||||
<Chrome startColor={color} on:input={handleInput} {fieldsIndex} on:mouseupEvent={mouseupEvent}/>
|
<Chrome startColor={color} on:input={handleInput} {fieldsIndex} on:mouseupEvent={mouseupEvent} />
|
||||||
{/if}
|
{/if}
|
||||||
|
|
Loading…
Reference in New Issue