??? 我做一個網頁,原先的設想是,一個頁面上有數個DIV,我只顯示其中一個DIV,其他的隱藏,當我點擊頁面頭部的鏈接的時候,js把所有DIV都隱藏,然后顯示我點擊鏈接所代表的DIV。
??? 問題是出來了。當第一個DIV顯示后,正在讀取里面的元素,比如圖片的時候,我點擊頭部鏈接,那圖片就不會繼續讀了,就算我切換回來,它也停在那里了。
???? 原先我以為是隱藏方式的問題,但我用了dislplay和visibility,都一樣。后來同事啟發了一下,說以前曾做過一個廣告圖片,當他點擊關閉圖片的鏈接的時候,會把圖片隱藏,但會導致整個頁面上所有的動畫都停止的現象,他用的是<a href=# onclick="closeit()">來關的。后來他把href=#去掉了,并加上style="cursor:hand"來顯示手形。這樣圖片可以隱藏掉,頁面也不會有任何影響。
???? 我照著把頭部的鏈接改了,把原先的href="javascript:showit()"改成了onclick,至此問題解除,在我切換到其他DIV的時候,隱藏的DIV會繼續讀取頁面元素。
??? 我想,出現這種情況,可能是因為瀏覽器把href當作是頁面跳轉的語句,就算頁面實際上沒有轉,它也認為原頁面已經被跳轉掉了,再讀取上面元素已經沒有意義,所以就全部停了。