Aide - Recherche - Membres - Calendrier
Version complète : Box défilante
Forum osCommerce-fr > Adapter OsCommerce MS2 > Contributions
biboulie
Bonjour à tous,

J'essaye de bidouiller un peu ma boxe promotion défilante mais j'ai un peu de mal.

Voilà mon souci : lorsque mes promotions finissent de défiler, il y a un blanc avec que le défilement ne reprennent et j'aimerai justement savoir si il est possible de supprimer ce blanc pour avoir un défiment "à la suite".

Je vous met le code de ma boxe :

CODE
<?php
/*
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com

Copyright (c) 2003 osCommerce

Released under the GNU General Public License
*/

$rp_query = tep_db_query("select p.products_id, pd.products_name, p.products_model, p.products_tax_class_id, p.products_image, s.specials_new_products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s where p.products_status = '1' and p.products_id = s.products_id and pd.products_id = s.products_id and pd.language_id = '" . (int)$languages_id . "' and s.status = '1' order by s.specials_date_added desc");
if (tep_db_num_rows($rp_query)) {
?>
<tr>
<td>
<TABLE WIDTH=173 BORDER=0 CELLPADDING=0 CELLSPACING=0>
    <TR>
        <TD COLSPAN=3>
            <IMG SRC="images/boxes/newshaut.gif" WIDTH=173 HEIGHT=27></TD>
    </TR>
    <TR>
    <td>
<?php
   //$info_box_contents = array();
   //$info_box_contents[] = array('text' => BOX_HEADING_SPECIALS);

   //new infoBoxHeading($info_box_contents, false, false, tep_href_link(FILENAME_SPECIALS));

   while ($random_product = tep_db_fetch_array($rp_query)) {
   $rp .= '<center><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $random_product["products_id"]) . '">' . tep_image(DIR_WS_IMAGES . $random_product['products_image'], $random_product['products_name'], "110", SMALL_IMAGE_HEIGHT-30) . '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $random_product['products_id']) . '">' . $random_product['products_name'] . '</a><br><s>' . $currencies->display_price($random_product['products_model'], tep_get_tax_rate($random_product[''])) . '</s><br><span class="productSpecialPrice">' . $currencies->display_price($random_product['specials_new_products_price'], tep_get_tax_rate($random_product['products_tax_class_id']));
$rp .= "</SPAN></BR>\n_________________________\n";
   }

   $info_box_contents = array();
   $info_box_contents[] = array('align' => 'center',
                                'text' => '<MARQUEE behavior= "scroll" align= "center" direction= "down" height="200" scrollamount= "2" scrolldelay= "100" onmouseover=\'this.stop()\' onmouseout=\'this.start()\'>'.$rp.'</span></MARQUEE>');

   new infoBox($info_box_contents);
?>
</TD>
    </TR>
    <TR>
        <TD COLSPAN=3>
            <IMG SRC="images/boxes/newsbas.gif" WIDTH=173 HEIGHT=13></TD>
    </TR>
</TABLE>
</td>
</tr>
<?php
  }
?>


D'avance merci pour votre aide et vos idées. rolleyes.gif
shoprun
Salut

J'avais déjà essayer cette balise <marquee>, et je ne crois pas qu'il soit possible de supprimer ce blanc.

En faite, si mes souvenir sont bons, ce blanc équivaut à la hauteur du marquee.
Si tu fixe une hauteur de 100px, il y aura un blanc de 100px
Si tu fixe une hauteur de 200px, il y aura un blanc de 200px, etc...

Il va te falloir te tourner vers du javascript pour éviter cela.

J'en ai trouvé 1 sur un site.
Cela dit, il y a toujours un blanc que je ne suis pas parvenu à éliminer, mais il n'est pas si grand (20px environ) et je m'en contente bien.

Si tu veux, tu mets ce code dans un fichier js (diaporama_vert.js)
[codebox]function writext(texdef) {
document.write(texdef);
}

writext('<DIV ID=txt_defil_relativ onMouseOver="txt_defil_stop()" onMouseOut="txt_defil_rstart()" STYLE="position:relative;width:'+txt_defil_width +';height:'+txt_defil_height+';background-color:'+txt_defil_bgcolor+';background-image:url('+txt_defil_background+')">');
writext('<DIV ID=txt_defil_cadre STYLE="position:absolute;width:'+(txt_defil_width - cool.gif+';height:'+(txt_defil_height-cool.gif+';top:4;left:4;clip:rect(0 '+(txt_defil_width -cool.gif+' '+(txt_defil_height-cool.gif+' 0)">');
writext('<div id=txt_defiler_1 style="position:absolute;width:'+(txt_defil_width - cool.gif+';left:0;top:0;">'+txt_defil_info[0]+'</DIV>');
writext('<div id=txt_defiler_2 style="position:absolute;width:'+(txt_defil_width -cool.gif+';left:0;top:'+txt_defil_height+';">'+txt_defil_info[1]+'</DIV>');
writext('</DIV></DIV>');

txt_defil_1 = 1;
txt_defil_2 = 0;
stop_mouss = 0;

function txt_defil_f1() {
if(txt_defil_1 == 1) {
txt_defil_haut = "txt_defiler_1";
txt_defil_bas = "txt_defiler_2";
txt_defil_1 = 0;
}
else {
txt_defil_bas = "txt_defiler_1";
txt_defil_haut = "txt_defiler_2";
txt_defil_1 = 1;
}

txt_defil_nb_info = txt_defil_info.length - 1;

if(txt_defil_2 == txt_defil_nb_info) {
txt_defil_next = 0;
}
else {
txt_defil_next = txt_defil_2 + 1;
}

if(document.getElementById) {
document.getElementById(txt_defil_bas).innerHTML = txt_defil_info[txt_defil_next];
}
txt_defil_top = 0;
if(document.getElementById) {
txt_defil_f2 ();
}
}

function txt_defil_f2 () {
if (stop_mouss == 0) {
txt_defil_top -= 1;
document.getElementById(txt_defil_haut).style.top = txt_defil_top;
document.getElementById(txt_defil_bas).style.top = txt_defil_top + txt_defil_height;
if((txt_defil_top + txt_defil_height) > 0) {
move2=setTimeout("txt_defil_f2()", 30);
}
else {
txt_defil_f3();
}
}
else {
move1=setTimeout("txt_defil_f2()", 2000);
}
}

function txt_defil_f3() {
txt_defil_2 = txt_defil_next;
txt_defil_f1();
}
function txt_defil_stop() {
stop_mouss = 1;
}
function txt_defil_rstart() {
stop_mouss=0;
}
window.onload = txt_defil_f1;
[/codebox]
Puis là ou tu souhaite faire le défilement :
[codebox]<script language="javascript">
var txt_defil_width = 160; //largeur
var txt_defil_height = 155; //hauteur
var txt_defil_bgcolor = ""; //couleur de fond
var txt_defil_background = "";
var txt_defil_info = new Array; //image de fond

txt_defil_info[0]='Premier contenu du diaporame à défilement vertical';
txt_defil_info[1]='Second contenu du diaporame à défilement vertical';
</script>
<script language="javascript" src="includes/diaporama_vert.js" type="text/javascript"></script>
[/codebox]
biboulie
Merci beaucoup pour ton aide.

Malheureusement je n'arrive pas à faire fonctionner ta méthode. cry.gif

Je vais voir du côté des contrib voir si je trouve mon bonheur...

Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2013 Invision Power Services, Inc.