[問題] 請問為何css style不起作用?

看板Web_Design作者時間14年前 (2012/02/10 23:32), 編輯推噓1(108)
留言9則, 4人參與, 最新討論串1/2 (看更多)
Hi,各位前輩好. 小弟因工作上的需要得開始練習javscript跟css, 這個練習是嘗試著用javascript去修改一個物件的style. 這個物件是一張照片,在mouseover時會放大2倍. Photo建構子使用addEventListener來聽取mouseover這個event. 如果event發生了,會跳出"test"的alert並將這張照片放大. 結果滑鼠遊標滑過照片後,第一行的alert("test")正常的跳出來, 但是下一行將照片放大2倍並沒作用. 我也試了rotate及其它transform,結果是一樣的. google了一陣子並沒有找到類似的例子, 請問這段code有什麼問題呢? 謝謝. function createAlbum() { var photo = new Photo(); } function Photo() { var frame = document.createElement('div'); frame.className = 'frame'; frame.addEventListener("mouseover", function(event) { alert("test"); this.frame.style.webKitTransform = 'scale(2.0)'; }, false); this.frame = frame; document.body.appendChild(frame); return this; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.139.207

02/11 10:56, , 1F
你是用webkit系的瀏覽器開嗎?
02/11 10:56, 1F

02/11 15:28, , 2F
我是用google chrome打開的
02/11 15:28, 2F

02/11 19:15, , 3F
用console_log看 不要用alert 會讓事件中止
02/11 19:15, 3F

02/13 00:17, , 4F
解決了,我將程式裡的frame增加了id的attribute,然後將
02/13 00:17, 4F

02/13 00:18, , 5F
this.frame.style.webKitTransform直接dom的方式存取,
02/13 00:18, 5F

02/13 00:19, , 6F
document.getElementById("frame_photo").style...這樣
02/13 00:19, 6F

02/13 00:20, , 7F
雖然解了,但還是不太了解為什麼用this.frame.style..會不行.
02/13 00:20, 7F

02/14 15:55, , 8F
function中的this並不是photo物件
02/14 15:55, 8F

02/14 21:42, , 9F
感謝各位指點
02/14 21:42, 9F
文章代碼(AID): #1FDJYKeI (Web_Design)
文章代碼(AID): #1FDJYKeI (Web_Design)