div+css下js对联广告不随屏幕滚动的解决方法_Div+CSS教程
缂傚倸鍊搁崐椋庣矆娴h娲晝閸屾氨鍔电紓浣插亾闁硅京顒CMS闂備浇宕甸崰鎰版偡閵夈儙娑樷攽鐎c劉鍋撻崒鐐查唶闁哄洨鍋為悗顒€鈹戦悙鍙夘棡闁搞劎鍠栧濠氭晸閿燂拷婵犵數鍋為崹璺侯潖鐟欏嫮鐝堕柛鈩冪☉閻撴﹢鏌″搴″箺闁抽攱甯¢弻銊╂偆閸屾稑顏� 缂傚倸鍊风粈渚€藝闁秴绐楅柟閭﹀墾閼板潡鏌涢妷顔煎缂佲偓婢舵劖鐓冮柕澶堝妽閻濐亪鏌e┑鎾村 闂傚倸鍊风欢锟犲磻閸曨垁鍥ㄦ綇閳哄啰顦繝銏f硾閺堫剟宕楀⿰鍫熺厸闁搞儯鍔嶉惃鎴︽⒒婢跺﹦效闁哄被鍊栧ḿ蹇涘Ω閿旂粯顥涚紓鍌欑劍閸炲骞忛敓锟� 闂傚倷绀侀幖顐﹀疮閻楀牊鍙忛柟缁㈠枛濡炰粙鏌″搴′簽闁告纰嶇换娑㈠幢濡闉嶅┑顕嗙稻閸旀鍩€椤掑喚娼愰柟顔肩埣瀹曟洟鏌嗗鍛厬闂佽法鍣﹂幏锟�,闂傚倷娴囬惃顐﹀礋椤愩垹袘闂佽姘﹂~澶嬬箾婵犲偆鍤曢柛顐f礀缁€鍐┿亜閺傚灝鎮戞い蹇曞枑缁绘盯骞嬮悙鏉戠殤闂佺ǹ顑嗛幑鍥ь潖閸濆嫧鏋庨柟顖嗗嫮浜梻浣告啞閻熴儳鎹㈠Ο渚殨濠电姵纰嶉弲鎼佹煥閻曞倹瀚�!
在页面上加了对联广告后发现不滚动,找了N久才发现是
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
这句导致不滚动的,可是如果去掉的话对于用DIV+CSS开发的网站来说又是灾难要另外找解决办法,应该是JS里有代码不符合W3C的标准
找了资料才知道是document.body不符合标准,换成document.documentElement就可以了.以下为JS原文件,只要在首页调用就OK了。
- <SCRIPT FOR='xuangua' EVENT='fscommand()' LANGUAGE='JavaScript'>
- AdLayer1.style.visibility='hidden';
- AdLayer2.style.visibility='hidden';
- </script>
- <script LANGUAGE='JavaScript'>
- function initEcAd() {
- document.all.AdLayer1.style.posTop = -200;
- document.all.AdLayer1.style.visibility = 'visible'
- document.all.AdLayer2.style.posTop = -200;
- document.all.AdLayer2.style.visibility = 'visible'
- //document.all.AdLayer3.style.posTop = -600;
- //document.all.AdLayer3.style.visibility = 'visible'
- MoveLeftLayer('AdLayer1');
- MoveRightLayer('AdLayer2');
- //MoveRightbuttonLayer('AdLayer3');
- }
- function MoveLeftLayer(layerName) {
- var x = 5;
- var y = 100;
- var diff = (document.documentElement.scrollTop + y - document.all.AdLayer1.style.posTop)*.40;
- var y = document.documentElement.scrollTop + y - diff;
- if(screen.height<768){
- var y = 50;
- var diff = (document.documentElement.scrollTop + y - document.all.AdLayer1.style.posTop)*.40;
- var y = document.documentElement.scrollTop + y - diff;
- }
- eval("document.all." + layerName + ".style.posTop = y");
- eval("document.all." + layerName + ".style.posLeft = x");
- setTimeout("MoveLeftLayer('AdLayer1');", 20);
- }
- function MoveRightLayer(layerName) {
- var x = 5;
- var y = 100;
- var diff = (document.documentElement.scrollTop + y - document.all.AdLayer2.style.posTop)*.40;
- var y = document.documentElement.scrollTop + y - diff;
- if(screen.height<768){
- var y = 5;
- var diff = (document.documentElement.scrollTop + y - document.all.AdLayer2.style.posTop)*.40;
- var y = document.documentElement.scrollTop + y - diff;
- }
- eval("document.all." + layerName + ".style.posTop = y");
- eval("document.all." + layerName + ".style.posRight = x");
- setTimeout("MoveRightLayer('AdLayer2');", 20);
- }
- function MoveRightbuttonLayer(layerName) {
- var x = 5;
- var y = 475;
- var diff = (document.documentElement.scrollTop + y - document.all.AdLayer3.style.posTop)*.40;
- var y = document.documentElement.scrollTop + y - diff;
- if(screen.height<768){
- var y = 310;
- var diff = (document.documentElement.scrollTop + y - document.all.AdLayer3.style.posTop)*.40;
- var y = document.documentElement.scrollTop + y - diff;
- }
- eval("document.all." + layerName + ".style.posTop = y");
- eval("document.all." + layerName + ".style.posRight = x");
- setTimeout("MoveRightbuttonLayer('AdLayer3');", 20);
- }
- </script>
- <script language='JavaScript'>
- document.write("<div id=AdLayer1 style='position: absolute;visibility:hidden;z-index:1'><EMBED src='images/duilian.swf' quality=high WIDTH=100 HEIGHT=300 TYPE='application/x-shockwave-flash' id=xuangua></EMBED></div>"
- +"<div id=AdLayer2 style='position: absolute;visibility:hidden;z-index:1'><EMBED src='images/duilian.swf' quality=high WIDTH=100 HEIGHT=300 pluginspage='http://www.macromedia.com/go/getflashplayer' TYPE='application/x-shockwave-flash' id=xuangua></EMBED></div>");
- initEcAd()
- </script>

相关Div+CSS教程:
- 相关链接:
- 教程说明:
Div+CSS教程-div+css下js对联广告不随屏幕滚动的解决方法
。