簡體   English   中英

即使條件為假,我的功能也會自動觸發

[英]my function is triggering automaticly even though the condition is false

我有一個可拖動對象,當拖動到足夠遠的一側時,該對象可觸發功能。 假定根據對象向哪一側拖動觸發不同的功能。 我能夠使其在一側工作,但是如果我這樣做,它也會自動以我未設置的其他值觸發。

當將鼠標按住在特定對象上時,移動功能會觸發,並且可以完美運行。 但是,如果我添加幾乎任何類型的“ <”-條件,代碼都會陷入混亂。 下面的代碼應該在將對象拖動到400px標記以下時刪除EventListener,但是只要將其向右拖動(始終為1000px),它也會自動觸發。 我希望您能有所幫助,並在此先感謝。

function move() {
    if (m.style.left < '400px') {
    m.style.left = event.clientX + 'px';
    LMenu.style.width = event.clientX + 'px';
    } else {
        window.removeEventListener('mousemove', move, true);
    }
}

這是因為javascript在這里比較兩個字符串,而不是兩個整數。

('100px' < '400px') \\true
('1000px' < '400px') \\true
('500px' < '400px') \\false
('50px' < '400px') \\false

嘗試首先使用javascripts parseInt(String)函數將這些數字轉換為int,然后進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM