老師,為啥您把m_panel.style.width=to_x+10+"px";?其中to_x不是控制元素相對于頁面左邊的距離嗎?而m_panel.style.width不是面板的寬度嗎?這兩個元素相等呢?不是很理解,希望老師回答下我的問題,謝謝了

冉四夕
2014-09-21
2 回答
舉報
0/150
提交
取消
2014-09-23
實際上 to_x 不是控制元素相對頁面左邊的距離。因為控制元素是相對于Panel 定位的。
to_x = 0 的情況下,控制元素貼緊Panel的左邊。
to_x = 100 的情況下,控制元素在Panel的左邊+100px處。
>>> 因為 to_x = 鼠標(biāo)當(dāng)前位置 - m_start_x 所以關(guān)鍵點在于?m_start_x 的計算
m_start_x = e.pageX - ctrl.offsetLeft;
而??ctrl.offsetLeft 是相對于 Panel 的偏移距離。
>>> 如果 panel的寬度為 400 假設(shè)兩種情況:
情況A:panel.style.left = '0px' ?也就是默認(rèn)的情況
情況B:panel.style.left = '500px'
不管哪種情況,第一次按下去的時候, m_start_x 一定是等于 400?
ps:因為控制元素本身有10個寬度,所以精確的說 ?m_start_x 一定是等于 390。
2014-09-23
老師,我終于明白了,謝謝了,控制元素相對于panel定位,而是不是整個window定位的。