注册 登录
编程论坛 JavaScript论坛

关于JS的问题

a530171981 发布于 2015-05-13 16:24, 1181 次点击
正在做一个静态的电商菜单网页,每一个商品都可以点开滑动显示详细信息,我现在做的是每一个商品都需要添加三段语句
$(document).ready(function(){
                 $(".T恤1").click(function(){
                  $(".T恤1message").slideToggle("slow");
                        });
                    });


div.T恤1message
{
}
div.T恤1message
{
    margin: 0px;
    padding: 5px;
    text-align: center;
    border: solid 1px;
    width: 200px;
    display: none;
    background: #808080;
}


<img src="T恤1.jpg" class="T恤1">
<br/>
<div class="T恤1message">
    <ul type="Circle">
        <li>价格:¥49.90</li>
        <li>已售:249件</li>
        <li>可选颜色:黑白,白紫</li>
        <li>可选型号:S,M,L,XS</li>
    </ul>
</div>
请问有没有办法可以简略一点,希望可以增加可维护性,拓展商品的时候方便一点,还有第二段语句里面为什么第一个空语句不能少
8 回复
#2
冰镇柠檬汁儿2015-05-13 20:49
div.T恤1message里可能是没定义hight属性的缘故,jquery我用的比较少,印象中slideToggle这个方法是修改高度的动画,你可以试试
你的这种写法有什么不能拓展新增商品的?
你的代码应该是很简略的了,没发现有什么再精简的方式了,除非你摒弃掉jquery
#3
a5301719812015-05-13 20:53
回复 2楼 冰镇柠檬汁儿
我之前尝试用Image数组来装图片,感觉这样用一个循环就行了,但是用了对象之后不知道是赋值的问题还是输出语句的问题,图片一直显示不出来
#4
a5301719812015-05-13 20:55
回复 2楼 冰镇柠檬汁儿
之前是定义了高度的,但是由于不同的div内容不同,需要的高度不同,就把那个语句删了
#5
冰镇柠檬汁儿2015-05-13 22:07
那你可以对每一个div的style属性里写hight啊,效果一样,并且也区分了
#6
冰镇柠檬汁儿2015-05-13 22:08
以下是引用a530171981在2015-5-13 20:53:30的发言:

我之前尝试用Image数组来装图片,感觉这样用一个循环就行了,但是用了对象之后不知道是赋值的问题还是输出语句的问题,图片一直显示不出来

数组和对象有本质区别的,不过对象也是可以循环内部属性的,用for in语句不就可以了吗
#7
a5301719812015-05-14 00:51
回复 6楼 冰镇柠檬汁儿
不是循环的问题,可能是我输出图片的语句有问题,因为是参加学校一个面试需要做一个网页,之前没做过,昨天才开始看JS,所以有的语句可能不准确。我之前用的
var x=new Image();
x.src="T恤1.jpg";
docunment.write("<img src=x.src>");
不知道这个语句有没有问题,百度上也没找到合适的例子
#8
a5301719812015-05-14 12:15
回复 6楼 冰镇柠檬汁儿
问题解决了,谢谢了
1