如何在单击按钮时显示特定的div?

时间:2016-05-09 17:12:38

标签: javascript php jquery html

我正在制作一个装扮模拟器(可以旋转360度),但由于我只是一个新手,我无法弄清楚当人体模型面临我如何展示项链或包时的逻辑面前。以下是我的代码示例:

JS

<script>
function toggle_div(id) {

    var divelement = document.getElementById(id);

    if(divelement.style.display == 'none')
        divelement.style.display = 'block';
    else
        divelement.style.display = 'none';
    }

    varSide = 0
    document.getElementById("demo").innerHTML; 

    function myFunctionLeft(id1,id2,id3,id4) {
        var a = document.getElementById(id1);
        var b = document.getElementById(id2);
        var c = document.getElementById(id3);
        var d = document.getElementById(id4);

        if (varSide==0){
            varSide = -1;
            a.style.display = 'block';
            b.style.display = 'none';
            c.style.display = 'none';
            d.style.display = 'none';
        }
        else if (varSide==-1){
            varSide = 2;
            a.style.display = 'none';
            b.style.display = 'none';
            c.style.display = 'none';
            d.style.display = 'block';
        }
        else if (varSide==2){
            varSide = 1;
            a.style.display = 'none';
            b.style.display = 'none';
            c.style.display = 'block';
            d.style.display = 'none';
        }
        else{
            varSide = 0;
            a.style.display = 'none';
            b.style.display = 'block';
            c.style.display = 'none';
            d.style.display = 'none';
        }
        document.getElementById("demo").innerHTML; 
    } 

    function myFunctionRight(id1,id2,id3,id4) {
        var a = document.getElementById(id1);
        var b = document.getElementById(id2);
        var c = document.getElementById(id3);
        var d = document.getElementById(id4);

        if (varSide==0){
            varSide = 1;
            a.style.display = 'none';
            b.style.display = 'none';
            c.style.display = 'block';
            d.style.display = 'none';
        }
        else if (varSide==1){
            varSide = 2;
            a.style.display = 'none';
            b.style.display = 'none';
            c.style.display = 'none';
            d.style.display = 'block';
        }
        else if (varSide==2){
            varSide = -1;
            a.style.display = 'block';
            b.style.display = 'none';
            c.style.display = 'none';
            d.style.display = 'none';
        }
        else{
            varSide = 0;
            a.style.display = 'none';
            b.style.display = 'block';
            c.style.display = 'none';
            d.style.display = 'none';
        }
        document.getElementById("demo").innerHTML; 
    }
}
</script>

PHP

<?php

case 's2 d1':
echo "s2 d1";
  echo "<div id='id1'><img src='http://i64.tinypic.com/2r77g29.png'></div>";
  echo "<div id='id2'><img src='http://i63.tinypic.com/zufbxj.png'></div>";
  echo "<div id='id3'><img src='http://i67.tinypic.com/9zokg6.png'></div>";
  echo "<div id='id4'><img src='http://i64.tinypic.com/zu13jt.png'></div>";     
break;

如果我在这里遗漏了什么,请告诉我。

PS:这是我的网站,它已撤消:http://preziosalacrem.com/DRESSUP/index.php

1 个答案:

答案 0 :(得分:0)

&#34; 我无法弄清楚当人体模型面向前方时我如何展示项链或包包的逻辑。&#34;

因此,无论是向左还是向右旋转人体模型,某些值都会发生变化。在人体模型面向前方的情况下,代码如下:

varSide = -1;
a.style.display = 'block';
b.style.display = 'none';
c.style.display = 'none';
d.style.display = 'none';

当我浏览视图时,我可以在我的控制台浏览器中看到代码动态更新,因此我确信上面的代码状态是人体模型面对的时候所设置的前面&#34;。

enter image description here

由于您设置了一个表示人体模型位置状态的变量,

varSide = -1;

然后当您加载人体模型的资产时,只需执行一些条件语句,如下面之前您加载项链资产:

if mannequin has necklace {
    if (varSide === -1) {
    //which means that the mannequin is facing front
        load necklace
    }
}