Results 1 to 9 of 9
  1. #1
    Join Date
    Feb 2010
    Posts
    27
    Plugin Contributions
    0

    Default adding DOCTYPE into define_pages code makes the page break?

    Hello and good day/night.

    I have some issues with a Doctype code, its a slider, when i insert it in define_main_page.php its fine. But when i try to insert it in index.php, the page breaks.

    Maybe i'm not inserting it the correct way? I just copy and paster without adding any extra code.

    Thanks for reading.

  2. #2
    Join Date
    Mar 2010
    Location
    UK
    Posts
    445
    Plugin Contributions
    0

    Default Re: DOCTYPE code makes the page breaks?

    What is the code you are trying to insert?


    ZenCart already declares a DOCTYPE at the start of every page. Why do you need to change it?

  3. #3
    Join Date
    Feb 2010
    Posts
    27
    Plugin Contributions
    0

    Default Re: DOCTYPE code makes the page breaks?

    Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
    <HTML xmlns="http://www.w3.org/1999/xhtml">
    <HEAD>
    <TITLE>腾讯软件--图片滑动</TITLE>
    <style>
    BODY {
           PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
    }
    UL {
           PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
    }
    .container {
           WIDTH: 610px; HEIGHT: 205px
    }
    .container A IMG {
           WIDTH: 610px; HEIGHT: 205px
    }
    .container IMG {
           BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none
    }
    .td_f A IMG {
           PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
    }
    .num {
           POSITION: absolute; WIDTH: 90px; FLOAT: right; TOP: 180px; LEFT: 520px
    }
    .num LI {
           TEXT-ALIGN: center; LINE-HEIGHT: 15px; LIST-STYLE-TYPE: none; MARGIN: 1px; WIDTH: 15px; FONT-FAMILY: Arial; BACKGROUND: url() no-repeat -15px 0px; FLOAT: left; HEIGHT: 15px; COLOR: #86a2b8; FONT-SIZE: 12px; CURSOR: pointer
    }
    .num LI.on {
           LINE-HEIGHT: 15px; WIDTH: 15px; BACKGROUND: url() no-repeat; HEIGHT: 15px; COLOR: #ffffff
    }
    .more {
           FLOAT: right
    }
    .more1 A {
           TEXT-ALIGN: left; LINE-HEIGHT: 25px; MARGIN: 0px 0px 0px 10px; COLOR: #3373a3
    }
    </style>
    <SCRIPT language=javascript>
            if(typeof(pgvMain) == 'function')
                    pgvMain();
    </SCRIPT>
    <SCRIPT>
    var gtopTab="one";
    function $id(id){
           return document.getElementById(id);       
    }
    function changesTab(tab_id){
           if (tab_id==gtopTab){
                  return;       
           }else{
                  $id(gtopTab).className="unselect";       
                  $id(tab_id).className="select";
                  $id("tab_"+gtopTab).style.display="none";
                  $id("tab_"+tab_id).style.display="block";
                  gtopTab=tab_id;
           }
    }
    </SCRIPT>
    <SCRIPT type=text/javascript>
    var $ = function (id) {
           return "string" == typeof id ? document.getElementById(id) : id;
    };
    var Extend = function(destination, source) {
           for (var property in source) {
                  destination[property] = source[property];
           }
           return destination;
    }
    var CurrentStyle = function(element){
           return element.currentStyle || document.defaultView.getComputedStyle(element, null);
    }
    var Bind = function(object, fun) {
           var args = Array.prototype.slice.call(arguments).slice(2);
           return function() {
                  return fun.apply(object, args.concat(Array.prototype.slice.call(arguments)));
           }
    }
    var Tween = {
           Quart: {
                  easeOut: function(t,b,c,d){
                         return -c * ((t=t/d-1)*t*t*t - 1) + b;
                  }
           },
           Back: {
                  easeOut: function(t,b,c,d,s){
                         if (s == undefined) s = 1.70158;
                         return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
                  }
           },
           Bounce: {
                  easeOut: function(t,b,c,d){
                         if ((t/=d) < (1/2.75)) {
                                return c*(7.5625*t*t) + b;
                         } else if (t < (2/2.75)) {
                                return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
                         } else if (t < (2.5/2.75)) {
                                return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
                         } else {
                                return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
                         }
                  }
           }
    }
    //容器对象,滑动对象,切换数量
    var SlideTrans = function(container, slider, count, options) {
           this._slider = $(slider);
           this._container = $(container);//容器对象
           this._timer = null;//定时器
           this._count = Math.abs(count);//切换数量
           this._target = 0;//目标值
           this._t = this._b = this._c = 0;//tween参数
           
           this.Index = 0;//当前索引
           
           this.SetOptions(options);
           
           this.Auto = !!this.options.Auto;
           this.Duration = Math.abs(this.options.Duration);
           this.Time = Math.abs(this.options.Time);
           this.Pause = Math.abs(this.options.Pause);
           this.Tween = this.options.Tween;
           this.onStart = this.options.onStart;
           this.onFinish = this.options.onFinish;
           
           var bVertical = !!this.options.Vertical;
           this._css = bVertical ? "top" : "left";//方向
           
           //样式设置
           var p = CurrentStyle(this._container).position;
           p == "relative" || p == "absolute" || (this._container.style.position = "relative");
           this._container.style.overflow = "hidden";
           this._slider.style.position = "absolute";
           
           this.Change = this.options.Change ? this.options.Change :
                  this._slider[bVertical ? "offsetHeight" : "offsetWidth"] / this._count;
    };
    SlideTrans.prototype = {
      //设置默认属性
      SetOptions: function(options) {
           this.options = {//默认值
                  Vertical:       true,//是否垂直方向(方向不能改)
                  Auto:              true,//是否自动
                  Change:              0,//改变量
                  Duration:       50,//滑动持续时间
                  Time:              10,//滑动延时
                  Pause:              1200,//停顿时间(Auto为true时有效)
                  onStart:       function(){},//开始转换时执行
                  onFinish:       function(){},//完成转换时执行
                  Tween:              Tween.Quart.easeOut//tween算子
           };
           Extend(this.options, options || {});
      },
      //开始切换
      Run: function(index) {
           //修正index
           index == undefined && (index = this.Index);
           index < 0 && (index = this._count - 1) || index >= this._count && (index = 0);
           //设置参数
           this._target = -Math.abs(this.Change) * (this.Index = index);
           this._t = 0;
           this._b = parseInt(CurrentStyle(this._slider)[this.options.Vertical ? "top" : "left"]);
           this._c = this._target - this._b;
           
           this.onStart();
           this.Move();
      },
      //移动
      Move: function() {
           clearTimeout(this._timer);
           //未到达目标继续移动否则进行下一次滑动
           if (this._c && this._t < this.Duration) {
                  this.MoveTo(Math.round(this.Tween(this._t++, this._b, this._c, this.Duration)));
                  this._timer = setTimeout(Bind(this, this.Move), this.Time);
           }else{
                  this.MoveTo(this._target);
                  this.Auto && (this._timer = setTimeout(Bind(this, this.Next), this.Pause));
           }
      },
      //移动到
      MoveTo: function(i) {
           this._slider.style[this._css] = i + "px";
      },
      //下一个
      Next: function() {
           this.Run(++this.Index);
      },
      //上一个
      Previous: function() {
           this.Run(--this.Index);
      },
      //停止
      Stop: function() {
           clearTimeout(this._timer); this.MoveTo(this._target);
      }
    };
    </SCRIPT>
    <BODY>
    <DIV id=idContainer2 class=container>
    <TABLE id=idSlider2 border=0 cellSpacing=0 cellPadding=0>
      <TBODY>
    <TR>
    <TD class=td_f><A onclick="pgvSendClick({hottag:'ISD.SHOW.BANNER.SOFTMGR'});" href="LINK"><IMG src="IMAGE"></A></TD>
    <TD class=td_f><A onclick="pgvSendClick({hottag:'ISD.SHOW.BANNER.PY'});" href="LINK"><IMG src="IMAGE"></A></TD>
    <TD class=td_f><A onclick="pgvSendClick({hottag:'ISD.SHOW.BANNER.PLAYER'});" href="LINK"><IMG src="IMAGE"></A></TD>
    </TR>
      </TBODY>
    </TABLE>
    <UL id=idNum class=num></UL>
    </DIV>
    <SCRIPT>
    //new SlideTrans("idContainer", "idSlider", 3).Run();
    ///////////////////////////////////////////////////////////
    var forEach = function(array, callback, thisObject){
           if(array.forEach){
                  array.forEach(callback, thisObject);
           }else{
                  for (var i = 0, len = array.length; i < len; i++) { callback.call(thisObject, array[i], i, array); }
           }
    }
    var st = new SlideTrans("idContainer2", "idSlider2", 3, { Vertical: false });
    var nums = [];
    //插入数字
    for(var i = 0, n = st._count - 1; i <= n;){
           (nums[i] = $("idNum").appendChild(document.createElement("li"))).innerHTML = ++i;
    }
    forEach(nums, function(o, i){
           o.onmouseover = function(){ o.className = "on"; st.Auto = false; st.Run(i); }
           o.onmouseout = function(){ o.className = ""; st.Auto = true; st.Run(); }
    })
    //设置按钮样式
    st.onStart = function(){
           forEach(nums, function(o, i){ o.className = st.Index == i ? "on" : ""; })
    }
    //$("idAuto").onclick = function(){
           //if(st.Auto){
                  //st.Auto = false; st.Stop(); this.value = "自动";
           //}else{
                  //st.Auto = true; st.Run(); this.value = "停止";
           //}
    //}
    //$("idNext").onclick = function(){ st.Next(); }
    //$("idPre").onclick = function(){ st.Previous(); }
    //$("idTween").onchange = function(){
           //switch (parseInt(this.value)){
                  //case 2 :
                         //st.Tween = Tween.Bounce.easeOut; break;
                  //case 1 :
                         //st.Tween = Tween.Back.easeOut; break;
                  //default :
                         //st.Tween = Tween.Quart.easeOut;
           //}
    //}
    st.Run();
    </SCRIPT>
    </BODY></HTML>
    I want to add this code to define('HEADING_TITLE', in index.php because look There.

    I inserted it in define_main_page.php but it doesn't look nice. Theres like a white gap between the slider and the "Hello visitor. Click here to login.".

    Maybe there's a way to remove that white gap. I see nothing associated with the WebDevelopper toolbar though.

  4. #4
    Join Date
    Nov 2006
    Location
    Dartmouth, NS Canada
    Posts
    2,378
    Plugin Contributions
    0

    Default Re: DOCTYPE code makes the page breaks?

    You can't just insert an entire web page anywhere you want inside Zen Cart's code. So...

    Remove the top and bottom HTML stuff -- it's not needed.
    Remove the doctype -- ZC already declares one.
    Remove the style definitions and put them into the regular stylesheet.
    Remove the script and make it into a file and place it where ZC can automatically load it.

    And that seems to be all of it, so you have nothing left to add anywhere else. Except perhaps a call to your script. There are posts around here telling you how to find exactly where to put that, depending on what it does.

    Rob

  5. #5
    Join Date
    Feb 2010
    Posts
    27
    Plugin Contributions
    0

    Default Re: DOCTYPE code makes the page breaks?

    Many thanks Rob for the great response, clear and very informative.

  6. #6
    Join Date
    Feb 2010
    Posts
    27
    Plugin Contributions
    0

    Default Re: DOCTYPE code makes the page breaks?

    Hello,

    I am still a little confused.

    Here is the original code:
    Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
    <HTML xmlns="http://www.w3.org/1999/xhtml">
    <HEAD>
    <TITLE>腾讯软件--图片滑动</TITLE>
    <style>
    BODY {
           PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
    }
    UL {
           PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
    }
    .container {
           WIDTH: 610px; HEIGHT: 205px
    }
    .container A IMG {
           WIDTH: 610px; HEIGHT: 205px
    }
    .container IMG {
           BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none
    }
    .td_f A IMG {
           PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
    }
    .num {
           POSITION: absolute; WIDTH: 90px; FLOAT: right; TOP: 180px; LEFT: 520px
    }
    .num LI {
           TEXT-ALIGN: center; LINE-HEIGHT: 15px; LIST-STYLE-TYPE: none; MARGIN: 1px; WIDTH: 15px; FONT-FAMILY: Arial; BACKGROUND: url() no-repeat -15px 0px; FLOAT: left; HEIGHT: 15px; COLOR: #86a2b8; FONT-SIZE: 12px; CURSOR: pointer
    }
    .num LI.on {
           LINE-HEIGHT: 15px; WIDTH: 15px; BACKGROUND: url() no-repeat; HEIGHT: 15px; COLOR: #ffffff
    }
    .more {
           FLOAT: right
    }
    .more1 A {
           TEXT-ALIGN: left; LINE-HEIGHT: 25px; MARGIN: 0px 0px 0px 10px; COLOR: #3373a3
    }
    </style>
    <SCRIPT language=javascript>
            if(typeof(pgvMain) == 'function')
                    pgvMain();
    </SCRIPT>
    <SCRIPT>
    var gtopTab="one";
    function $id(id){
           return document.getElementById(id);       
    }
    function changesTab(tab_id){
           if (tab_id==gtopTab){
                  return;       
           }else{
                  $id(gtopTab).className="unselect";       
                  $id(tab_id).className="select";
                  $id("tab_"+gtopTab).style.display="none";
                  $id("tab_"+tab_id).style.display="block";
                  gtopTab=tab_id;
           }
    }
    </SCRIPT>
    <SCRIPT type=text/javascript>
    var $ = function (id) {
           return "string" == typeof id ? document.getElementById(id) : id;
    };
    var Extend = function(destination, source) {
           for (var property in source) {
                  destination[property] = source[property];
           }
           return destination;
    }
    var CurrentStyle = function(element){
           return element.currentStyle || document.defaultView.getComputedStyle(element, null);
    }
    var Bind = function(object, fun) {
           var args = Array.prototype.slice.call(arguments).slice(2);
           return function() {
                  return fun.apply(object, args.concat(Array.prototype.slice.call(arguments)));
           }
    }
    var Tween = {
           Quart: {
                  easeOut: function(t,b,c,d){
                         return -c * ((t=t/d-1)*t*t*t - 1) + b;
                  }
           },
           Back: {
                  easeOut: function(t,b,c,d,s){
                         if (s == undefined) s = 1.70158;
                         return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
                  }
           },
           Bounce: {
                  easeOut: function(t,b,c,d){
                         if ((t/=d) < (1/2.75)) {
                                return c*(7.5625*t*t) + b;
                         } else if (t < (2/2.75)) {
                                return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
                         } else if (t < (2.5/2.75)) {
                                return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
                         } else {
                                return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
                         }
                  }
           }
    }
    //容器对象,滑动对象,切换数量
    var SlideTrans = function(container, slider, count, options) {
           this._slider = $(slider);
           this._container = $(container);//容器对象
           this._timer = null;//定时器
           this._count = Math.abs(count);//切换数量
           this._target = 0;//目标值
           this._t = this._b = this._c = 0;//tween参数
           
           this.Index = 0;//当前索引
           
           this.SetOptions(options);
           
           this.Auto = !!this.options.Auto;
           this.Duration = Math.abs(this.options.Duration);
           this.Time = Math.abs(this.options.Time);
           this.Pause = Math.abs(this.options.Pause);
           this.Tween = this.options.Tween;
           this.onStart = this.options.onStart;
           this.onFinish = this.options.onFinish;
           
           var bVertical = !!this.options.Vertical;
           this._css = bVertical ? "top" : "left";//方向
           
           //样式设置
           var p = CurrentStyle(this._container).position;
           p == "relative" || p == "absolute" || (this._container.style.position = "relative");
           this._container.style.overflow = "hidden";
           this._slider.style.position = "absolute";
           
           this.Change = this.options.Change ? this.options.Change :
                  this._slider[bVertical ? "offsetHeight" : "offsetWidth"] / this._count;
    };
    SlideTrans.prototype = {
      //设置默认属性
      SetOptions: function(options) {
           this.options = {//默认值
                  Vertical:       true,//是否垂直方向(方向不能改)
                  Auto:              true,//是否自动
                  Change:              0,//改变量
                  Duration:       50,//滑动持续时间
                  Time:              10,//滑动延时
                  Pause:              1200,//停顿时间(Auto为true时有效)
                  onStart:       function(){},//开始转换时执行
                  onFinish:       function(){},//完成转换时执行
                  Tween:              Tween.Quart.easeOut//tween算子
           };
           Extend(this.options, options || {});
      },
      //开始切换
      Run: function(index) {
           //修正index
           index == undefined && (index = this.Index);
           index < 0 && (index = this._count - 1) || index >= this._count && (index = 0);
           //设置参数
           this._target = -Math.abs(this.Change) * (this.Index = index);
           this._t = 0;
           this._b = parseInt(CurrentStyle(this._slider)[this.options.Vertical ? "top" : "left"]);
           this._c = this._target - this._b;
           
           this.onStart();
           this.Move();
      },
      //移动
      Move: function() {
           clearTimeout(this._timer);
           //未到达目标继续移动否则进行下一次滑动
           if (this._c && this._t < this.Duration) {
                  this.MoveTo(Math.round(this.Tween(this._t++, this._b, this._c, this.Duration)));
                  this._timer = setTimeout(Bind(this, this.Move), this.Time);
           }else{
                  this.MoveTo(this._target);
                  this.Auto && (this._timer = setTimeout(Bind(this, this.Next), this.Pause));
           }
      },
      //移动到
      MoveTo: function(i) {
           this._slider.style[this._css] = i + "px";
      },
      //下一个
      Next: function() {
           this.Run(++this.Index);
      },
      //上一个
      Previous: function() {
           this.Run(--this.Index);
      },
      //停止
      Stop: function() {
           clearTimeout(this._timer); this.MoveTo(this._target);
      }
    };
    </SCRIPT>
    <BODY>
    <DIV id=idContainer2 class=container>
    <TABLE id=idSlider2 border=0 cellSpacing=0 cellPadding=0>
      <TBODY>
    <TR>
    <TD class=td_f><A onclick="pgvSendClick({hottag:'ISD.SHOW.BANNER.SOFTMGR'});" href=""><IMG src=""></A></TD>
    <TD class=td_f><A onclick="pgvSendClick({hottag:'ISD.SHOW.BANNER.PY'});" href=""><IMG src=""></A></TD>
    <TD class=td_f><A onclick="pgvSendClick({hottag:'ISD.SHOW.BANNER.PLAYER'});" href=""><IMG src=""></A></TD>
    </TR>
      </TBODY>
    </TABLE>
    <UL id=idNum class=num></UL>
    </DIV>
    <SCRIPT>
    //new SlideTrans("idContainer", "idSlider", 3).Run();
    ///////////////////////////////////////////////////////////
    var forEach = function(array, callback, thisObject){
           if(array.forEach){
                  array.forEach(callback, thisObject);
           }else{
                  for (var i = 0, len = array.length; i < len; i++) { callback.call(thisObject, array[i], i, array); }
           }
    }
    var st = new SlideTrans("idContainer2", "idSlider2", 3, { Vertical: false });
    var nums = [];
    //插入数字
    for(var i = 0, n = st._count - 1; i <= n;){
           (nums[i] = $("idNum").appendChild(document.createElement("li"))).innerHTML = ++i;
    }
    forEach(nums, function(o, i){
           o.onmouseover = function(){ o.className = "on"; st.Auto = false; st.Run(i); }
           o.onmouseout = function(){ o.className = ""; st.Auto = true; st.Run(); }
    })
    //设置按钮样式
    st.onStart = function(){
           forEach(nums, function(o, i){ o.className = st.Index == i ? "on" : ""; })
    }
    //$("idAuto").onclick = function(){
           //if(st.Auto){
                  //st.Auto = false; st.Stop(); this.value = "自动";
           //}else{
                  //st.Auto = true; st.Run(); this.value = "停止";
           //}
    //}
    //$("idNext").onclick = function(){ st.Next(); }
    //$("idPre").onclick = function(){ st.Previous(); }
    //$("idTween").onchange = function(){
           //switch (parseInt(this.value)){
                  //case 2 :
                         //st.Tween = Tween.Bounce.easeOut; break;
                  //case 1 :
                         //st.Tween = Tween.Back.easeOut; break;
                  //default :
                         //st.Tween = Tween.Quart.easeOut;
           //}
    //}
    st.Run();
    </SCRIPT>
    </BODY></HTML>
    So i take out the style:

    Code:
    BODY {
           PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
    }
    UL {
           PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
    }
    .container {
           WIDTH: 610px; HEIGHT: 205px
    }
    .container A IMG {
           WIDTH: 610px; HEIGHT: 205px
    }
    .container IMG {
           BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none
    }
    .td_f A IMG {
           PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
    }
    .num {
           POSITION: absolute; WIDTH: 90px; FLOAT: right; TOP: 180px; LEFT: 520px
    }
    .num LI {
           TEXT-ALIGN: center; LINE-HEIGHT: 15px; LIST-STYLE-TYPE: none; MARGIN: 1px; WIDTH: 15px; FONT-FAMILY: Arial; BACKGROUND: url() no-repeat -15px 0px; FLOAT: left; HEIGHT: 15px; COLOR: #86a2b8; FONT-SIZE: 12px; CURSOR: pointer
    }
    .num LI.on {
           LINE-HEIGHT: 15px; WIDTH: 15px; BACKGROUND: url() no-repeat; HEIGHT: 15px; COLOR: #ffffff
    }
    .more {
           FLOAT: right
    }
    .more1 A {
           TEXT-ALIGN: left; LINE-HEIGHT: 25px; MARGIN: 0px 0px 0px 10px; COLOR: #3373a3
    }
    The script:

    Code:
    <SCRIPT language=javascript>
            if(typeof(pgvMain) == 'function')
                    pgvMain();
    </SCRIPT>
    <SCRIPT>
    var gtopTab="one";
    function $id(id){
           return document.getElementById(id);       
    }
    function changesTab(tab_id){
           if (tab_id==gtopTab){
                  return;       
           }else{
                  $id(gtopTab).className="unselect";       
                  $id(tab_id).className="select";
                  $id("tab_"+gtopTab).style.display="none";
                  $id("tab_"+tab_id).style.display="block";
                  gtopTab=tab_id;
           }
    }
    </SCRIPT>
    <SCRIPT type=text/javascript>
    var $ = function (id) {
           return "string" == typeof id ? document.getElementById(id) : id;
    };
    var Extend = function(destination, source) {
           for (var property in source) {
                  destination[property] = source[property];
           }
           return destination;
    }
    var CurrentStyle = function(element){
           return element.currentStyle || document.defaultView.getComputedStyle(element, null);
    }
    var Bind = function(object, fun) {
           var args = Array.prototype.slice.call(arguments).slice(2);
           return function() {
                  return fun.apply(object, args.concat(Array.prototype.slice.call(arguments)));
           }
    }
    var Tween = {
           Quart: {
                  easeOut: function(t,b,c,d){
                         return -c * ((t=t/d-1)*t*t*t - 1) + b;
                  }
           },
           Back: {
                  easeOut: function(t,b,c,d,s){
                         if (s == undefined) s = 1.70158;
                         return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
                  }
           },
           Bounce: {
                  easeOut: function(t,b,c,d){
                         if ((t/=d) < (1/2.75)) {
                                return c*(7.5625*t*t) + b;
                         } else if (t < (2/2.75)) {
                                return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
                         } else if (t < (2.5/2.75)) {
                                return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
                         } else {
                                return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
                         }
                  }
           }
    }
    //容器对象,滑动对象,切换数量
    var SlideTrans = function(container, slider, count, options) {
           this._slider = $(slider);
           this._container = $(container);//容器对象
           this._timer = null;//定时器
           this._count = Math.abs(count);//切换数量
           this._target = 0;//目标值
           this._t = this._b = this._c = 0;//tween参数
           
           this.Index = 0;//当前索引
           
           this.SetOptions(options);
           
           this.Auto = !!this.options.Auto;
           this.Duration = Math.abs(this.options.Duration);
           this.Time = Math.abs(this.options.Time);
           this.Pause = Math.abs(this.options.Pause);
           this.Tween = this.options.Tween;
           this.onStart = this.options.onStart;
           this.onFinish = this.options.onFinish;
           
           var bVertical = !!this.options.Vertical;
           this._css = bVertical ? "top" : "left";//方向
           
           //样式设置
           var p = CurrentStyle(this._container).position;
           p == "relative" || p == "absolute" || (this._container.style.position = "relative");
           this._container.style.overflow = "hidden";
           this._slider.style.position = "absolute";
           
           this.Change = this.options.Change ? this.options.Change :
                  this._slider[bVertical ? "offsetHeight" : "offsetWidth"] / this._count;
    };
    SlideTrans.prototype = {
      //设置默认属性
      SetOptions: function(options) {
           this.options = {//默认值
                  Vertical:       true,//是否垂直方向(方向不能改)
                  Auto:              true,//是否自动
                  Change:              0,//改变量
                  Duration:       50,//滑动持续时间
                  Time:              10,//滑动延时
                  Pause:              1200,//停顿时间(Auto为true时有效)
                  onStart:       function(){},//开始转换时执行
                  onFinish:       function(){},//完成转换时执行
                  Tween:              Tween.Quart.easeOut//tween算子
           };
           Extend(this.options, options || {});
      },
      //开始切换
      Run: function(index) {
           //修正index
           index == undefined && (index = this.Index);
           index < 0 && (index = this._count - 1) || index >= this._count && (index = 0);
           //设置参数
           this._target = -Math.abs(this.Change) * (this.Index = index);
           this._t = 0;
           this._b = parseInt(CurrentStyle(this._slider)[this.options.Vertical ? "top" : "left"]);
           this._c = this._target - this._b;
           
           this.onStart();
           this.Move();
      },
      //移动
      Move: function() {
           clearTimeout(this._timer);
           //未到达目标继续移动否则进行下一次滑动
           if (this._c && this._t < this.Duration) {
                  this.MoveTo(Math.round(this.Tween(this._t++, this._b, this._c, this.Duration)));
                  this._timer = setTimeout(Bind(this, this.Move), this.Time);
           }else{
                  this.MoveTo(this._target);
                  this.Auto && (this._timer = setTimeout(Bind(this, this.Next), this.Pause));
           }
      },
      //移动到
      MoveTo: function(i) {
           this._slider.style[this._css] = i + "px";
      },
      //下一个
      Next: function() {
           this.Run(++this.Index);
      },
      //上一个
      Previous: function() {
           this.Run(--this.Index);
      },
      //停止
      Stop: function() {
           clearTimeout(this._timer); this.MoveTo(this._target);
      }
    };
    </SCRIPT>
    <BODY>
    <DIV id=idContainer2 class=container>
    <TABLE id=idSlider2 border=0 cellSpacing=0 cellPadding=0>
      <TBODY>
    <TR>
    <TD class=td_f><A onclick="pgvSendClick({hottag:'ISD.SHOW.BANNER.SOFTMGR'});" href=""><IMG src=""></A></TD>
    <TD class=td_f><A onclick="pgvSendClick({hottag:'ISD.SHOW.BANNER.PY'});" href=""><IMG src=""></A></TD>
    <TD class=td_f><A onclick="pgvSendClick({hottag:'ISD.SHOW.BANNER.PLAYER'});" href=""><IMG src=""></A></TD>
    </TR>
      </TBODY>
    </TABLE>
    <UL id=idNum class=num></UL>
    </DIV>
    <SCRIPT>
    //new SlideTrans("idContainer", "idSlider", 3).Run();
    ///////////////////////////////////////////////////////////
    var forEach = function(array, callback, thisObject){
           if(array.forEach){
                  array.forEach(callback, thisObject);
           }else{
                  for (var i = 0, len = array.length; i < len; i++) { callback.call(thisObject, array[i], i, array); }
           }
    }
    var st = new SlideTrans("idContainer2", "idSlider2", 3, { Vertical: false });
    var nums = [];
    //插入数字
    for(var i = 0, n = st._count - 1; i <= n;){
           (nums[i] = $("idNum").appendChild(document.createElement("li"))).innerHTML = ++i;
    }
    forEach(nums, function(o, i){
           o.onmouseover = function(){ o.className = "on"; st.Auto = false; st.Run(i); }
           o.onmouseout = function(){ o.className = ""; st.Auto = true; st.Run(); }
    })
    //设置按钮样式
    st.onStart = function(){
           forEach(nums, function(o, i){ o.className = st.Index == i ? "on" : ""; })
    }
    //$("idAuto").onclick = function(){
           //if(st.Auto){
                  //st.Auto = false; st.Stop(); this.value = "自动";
           //}else{
                  //st.Auto = true; st.Run(); this.value = "停止";
           //}
    //}
    //$("idNext").onclick = function(){ st.Next(); }
    //$("idPre").onclick = function(){ st.Previous(); }
    //$("idTween").onchange = function(){
           //switch (parseInt(this.value)){
                  //case 2 :
                         //st.Tween = Tween.Bounce.easeOut; break;
                  //case 1 :
                         //st.Tween = Tween.Back.easeOut; break;
                  //default :
                         //st.Tween = Tween.Quart.easeOut;
           //}
    //}
    st.Run();
    </SCRIPT>
    By the way, in what type of file do i put the script code? php, js?

    Thank you and have a good day.

  7. #7
    Join Date
    Nov 2006
    Location
    Dartmouth, NS Canada
    Posts
    2,378
    Plugin Contributions
    0

    Default Re: DOCTYPE code makes the page breaks?

    The script goes into a .js file. I can't recall exactly where you'd put it or whether there are any conventions for naming it, but all of that is covered in the Tutorials/FAQs (link at the top of all these pages.)

    Rob

  8. #8
    Join Date
    Mar 2010
    Location
    UK
    Posts
    445
    Plugin Contributions
    0

    Default Re: DOCTYPE code makes the page breaks?

    If you place the script in a .js file, do remove the HTML <script> and </script> tags from the code.

  9. #9
    Join Date
    Feb 2010
    Posts
    27
    Plugin Contributions
    0

    Default Re: DOCTYPE code makes the page breaks?

    Ok i'll try it, thanks Rob and g1smd for the infos!

    Good day!

 

 

Similar Threads

  1. v151 store credit and discount makes paypal $0 and break
    By chaptech in forum Built-in Shipping and Payment Modules
    Replies: 3
    Last Post: 4 Mar 2015, 01:03 AM
  2. How can I insert a PAGE BREAK into a page ??
    By shags38 in forum General Questions
    Replies: 7
    Last Post: 8 Sep 2011, 01:36 PM
  3. Adding a line break on product listing page...
    By brucegust in forum Templates, Stylesheets, Page Layout
    Replies: 1
    Last Post: 1 May 2008, 03:53 PM
  4. Using HTML Code in The add new Products section just makes a mess on me?
    By austrainer in forum Templates, Stylesheets, Page Layout
    Replies: 4
    Last Post: 3 Jan 2008, 06:05 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg